Socket Chat funktioniert nicht

LastSamurai

Mitglied
Ich weiß das ist wahrscheinlich ein Thema, das so ähnlich schon oft erfragt wurde, aber ich weiß nicht wonach ich suchen soll, einfach weil ich nicht weiß wo der Fehler ist. Ich habe mir aus einigen Tutorials im Internet einen einfachen Client-Server Chat zusammengebastelt.

Füge ich beide auf einem PC aus, so funktioniert alles. Wenn ich aber den Client auf einen anderen PC verfrachte kommt es zu Problemen. Das Fenster wird zwar auf beiden PCs angezeigt (also sie erkennen einander schon), aber auf Clientseite werden im Fenster keinerlei Bedienelement angezeigt und es funktioniert auch weiter nichts.
Wie komme ich da weiter?


PS Für localhost habe ich in dem Fall natürlich die IP Adresse eingesetz
Code Client:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class Client extends Thread {
	
	public static void main(String[] args) {
		
		try {
			new Client().start(); // Client
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	

	
		myFrame frame;
		Socket _Socket = null;
		PrintWriter _out = null;
		BufferedReader _in = null;
		Scanner _keyboard = new Scanner(System.in);

		Client() {
			try {
				_Socket = new Socket("localhost", 4711);
				_out = new PrintWriter(_Socket.getOutputStream(), true);
				_in = new BufferedReader(new InputStreamReader(	_Socket.getInputStream()));
				frame = new myFrame("Chat :: Client", _out, _in);
			} catch (Exception e) {
				System.exit(1);
			}
		}

		public void run() {
			while (true) {
				String incoming;
				try {
					incoming = _in.readLine();
					frame.addAusgabe(incoming);
				} // try
				catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

Code Server:
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MyTestServer {
	public static void main(String[] args) {
		try {
			new MyOwnServer().start(); // Server
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

class MyOwnServer extends Thread {
	myFrame frame;
	ServerSocket _ServerSocket = null;
	Socket _ClientSocket = null;
	PrintWriter _out = null;
	BufferedReader _in = null;

	MyOwnServer() throws Exception {
		_ServerSocket = new ServerSocket(4711);
	}

	public void run() {
		while (true) {
			try {
				_ClientSocket = _ServerSocket.accept(); // Warte auf Verbindung
				_out = new PrintWriter(_ClientSocket.getOutputStream(), true);// Ausgabestrom
				_in = new BufferedReader(new InputStreamReader(
						_ClientSocket.getInputStream())); // Eingabestrom
				System.out.println("Verbindung steht");
				frame = new myFrame("Chat :: Server", _out, _in);
				while (true) {
					String incoming = _in.readLine();
					frame.addAusgabe(incoming);
				} // while
			} catch (IOException e) {
				System.out.println("Fehler - ServerSocket.accept()");
			}// catch
		}// while
	}
}

Code Fenster
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.TextArea;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.PrintWriter;
import javax.swing.JButton;
import javax.swing.JFrame;

 class myFrame extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	TextArea _Eingabe;
	TextArea _Ausgabe;
	JButton _Send;
	PrintWriter _out;
	BufferedReader _in;
	ActionListener _x;

	myFrame(String Titel, PrintWriter out, BufferedReader in) {
		_out = out;
		_in = in;
		init(Titel);
	}

	void init(String Titel) {
		setLocation(400, 400);
		setSize(800, 600);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		this.setTitle(Titel);
		_Eingabe = new TextArea();
		_Ausgabe = new TextArea();
		_Send = new JButton();
		_x = new Action(_out, _in, _Eingabe);
		_Send.setText("Abschicken");
		_Send.setActionCommand("Send");
		_Send.addActionListener(_x);
		this.setLayout(new BorderLayout());
		Container unten = new Container();
		unten.setLayout(new BorderLayout());
		unten.add(_Eingabe, BorderLayout.CENTER);
		unten.add(_Send, BorderLayout.EAST);
		this.add(unten, BorderLayout.SOUTH);
		this.add(_Ausgabe, BorderLayout.CENTER);
	}

	public void addAusgabe(String add) {
		String temp = _Ausgabe.getText();
		temp += "\n";
		temp += add;
		_Ausgabe.setText(temp);
	}
}
 

andre111

Bekanntes Mitglied
Dein Client versucht ja auch immer zu "localhost" zu connecten. Das geht solang gut, wie Client und Server auf dem selben PC laufen, ansonsten müsstest du anstatt "localhost" die IP des PCs auf dem der Server läuft angeben.

EDIT: Fail, hab übersehen, dass du localhost austauscht ;)
 
Zuletzt bearbeitet:

xehpuk

Top Contributor
Du fügst die Komponenten erst hinzu, nachdem du den Frame schon sichtbar gemacht hast. Wird der Inhalt eines sichtbaren Containers geändert (etwa durch das Hinzufügen von Komponenten), so muss
Code:
validate()
aufgerufen werden, damit die Änderungen auch sichtbar werden.

Am besten machst du den Frame erst ganz zum Schluss sichtbar.

PS: Deine Variablennamen sind grauenvoll. Bitte schau dir die Naming Conventions an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Java Chat funktioniert nicht richtig Netzwerkprogrammierung 6
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
L Chat Fenster Netzwerkprogrammierung 1
J Socket Ein Chat Server Tutorial Netzwerkprogrammierung 8
S Java Chat Server Netzwerkprogrammierung 8
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
P Chat in Java Netzwerkprogrammierung 3
C Java Chat Admin Kenzeichnung Netzwerkprogrammierung 14
D Chat Server/mehre Client Netzwerkprogrammierung 9
Androbin Socket Fehlerhafter Applet-Chat Netzwerkprogrammierung 12
C Microsoft Comic Chat Netzwerkprogrammierung 0
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
O Chat (Server) sendet an verschieden Benutzer. Netzwerkprogrammierung 10
J Chat programmieren Netzwerkprogrammierung 12
L Chat Server programmieren Netzwerkprogrammierung 10
TheJavaKid Webcam-Chat im Applet (ChatRoulette Klon) Netzwerkprogrammierung 10
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
K Socket Chat-GUI eigenes Event nach Empfangen Netzwerkprogrammierung 2
K chat Netzwerkprogrammierung 13
F RMI einfacher Chat - Callbacks(?) funktionieren nicht Netzwerkprogrammierung 7
T Socket Java Chat Netzwerkprogrammierung 2
xDarkSunx Chat JFrame Netzwerkprogrammierung 3
xDarkSunx Hilfe Chat Login Netzwerkprogrammierung 7
E JAVA Chat Netzwerkprogrammierung 19
I Chat-Client empfängt nichts vom Server Netzwerkprogrammierung 3
A Socket UDP Chat Verbindungsproblem im WWW (Server sendet ins leere) Netzwerkprogrammierung 11
A Multi-User-Chat Netzwerkprogrammierung 2
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
E Userliste für Chat Applet Netzwerkprogrammierung 4
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
J Framework/ Muster für Chat-ähnliches Programm gesucht Netzwerkprogrammierung 2
AMStyles Client Server basierter Chat Netzwerkprogrammierung 7
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
P Socket Chat selbst bauen + Multiusereditor Netzwerkprogrammierung 13
T Java Chat über UDP Netzwerkprogrammierung 7
Developer_X Habe fragen zur Chat Programmierung Netzwerkprogrammierung 4
P Java Multiuser Chat hohe Systemauslastung Netzwerkprogrammierung 24
D Hilfe ich komme bei meinem UDP chat Server nicht mehr weiter Netzwerkprogrammierung 9
B Die alte Leier: "Chat" Netzwerkprogrammierung 3
S Client-Server Chat Problem nur im lokalen Netztwerk Netzwerkprogrammierung 23
DamienX Chat Socketserver/Client. wo ist das Problem? Netzwerkprogrammierung 2
J Client-Client-Chat ohne Serverbeteiligung Netzwerkprogrammierung 2
A Wichtig für einen Chat? Netzwerkprogrammierung 4
S Java Applet Chat Grundsatzfrage Netzwerkprogrammierung 6
R Java Chat über Inet connecten Netzwerkprogrammierung 3
F Chat Programm. Verständnisfrage while-Schleife Netzwerkprogrammierung 7
P Probleme bei Chat programm Netzwerkprogrammierung 2
C Voice Chat Netzwerkprogrammierung 3
G FAQ Chat geht nicht ? Netzwerkprogrammierung 4
T Schriftfarbe im Chat ändern Netzwerkprogrammierung 2
G ActionEvent klappt beim Chat nicht Netzwerkprogrammierung 5
J Kleines Problem mit Chat Server Netzwerkprogrammierung 2
T Chat-Client Netzwerkprogrammierung 12
G Chat zwischen applets: möglich? Netzwerkprogrammierung 2
T Chat mit mehreren Clients Netzwerkprogrammierung 3
C Chat , Streamproblem, PumpingException, Danke Netzwerkprogrammierung 2
S RMI Chat Problem, Client bekannt machen Netzwerkprogrammierung 2
V probleme mit dem chat programm Netzwerkprogrammierung 4
K Lokaler Chat Netzwerkprogrammierung 5
S Chat aufs Internet ausweiten Netzwerkprogrammierung 5
J Router behindert Chat Netzwerkprogrammierung 9
S Knuddels Chat System: Bot / Nachrichten verschicken? Netzwerkprogrammierung 6
G Chat - was brauch ich Netzwerkprogrammierung 2
André B. Brauche Hilfe bei Chat Netzwerkprogrammierung 6
K Problem mit "Chat" Netzwerkprogrammierung 2
N Java-Chat (lauffähig) macht Probleme auf der Konsole Netzwerkprogrammierung 6
Paule Acces denied bei Chat Netzwerkprogrammierung 6
B Multi-chat Problem Netzwerkprogrammierung 3
N Java Chat-Problem Netzwerkprogrammierung 4
G Java Chat mit HTML Cleint Netzwerkprogrammierung 3
G Chat Programm - was ist los? Netzwerkprogrammierung 9
A server mit 2 Ports : Mit und ohne SSL Chat system Netzwerkprogrammierung 10
Z chat: wann http und wann sockets verwenden? Netzwerkprogrammierung 11
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
R Mini-Chat löst BindException aus Netzwerkprogrammierung 7
F Multiclient Chat Netzwerkprogrammierung 12
K Chat: Nur 1 Verbindung zum Server möglich :( Netzwerkprogrammierung 6
K Chat: Verbindung kommt nicht zu stande Netzwerkprogrammierung 6
S JAV07P SGD client/server chat Netzwerkprogrammierung 4
C IRC CHAT auslesen -> Sockets/input und output Streams Netzwerkprogrammierung 9
S Einfacher Multiuser chat in java Netzwerkprogrammierung 18
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
S BufferedStream funktioniert nicht immer Netzwerkprogrammierung 7
G UDP Packet empfangen funktioniert nicht. Netzwerkprogrammierung 16
Dann07 Proxy funktioniert nicht so wie gewünscht! Netzwerkprogrammierung 18
M Textchat Funktioniert nur halb Netzwerkprogrammierung 2
H Einfacher Server funktioniert nicht Netzwerkprogrammierung 1
N Test Servlet funktioniert nicht Netzwerkprogrammierung 11
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
KingSquizzi3 Website parsen mit Hilfe von jsoup funktioniert nicht Netzwerkprogrammierung 3
V TCP Client funktioniert auf Emulator aber nicht auf Smartphone Netzwerkprogrammierung 5
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
L IText mit Servlets, funktioniert nicht Netzwerkprogrammierung 0
D TCP Socket funktioniert nicht richtig Netzwerkprogrammierung 3
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10

Ähnliche Java Themen

Neue Themen


Oben