Chat mit mehreren Clients

Status
Nicht offen für weitere Antworten.

Thorsten F.

Mitglied
Hi,
ich habe mir zwar schon alle relevanten Themen dazu im Forum durchgelesen, aber wirklich weiter geholfen hat mir das nicht.

Zu dem Problem:

Ich habe einen ChatServer:

Code:
		try 
		{	        
	         ServerSocket srvr = new ServerSocket(1234);
	    	 Socket skt = srvr.accept();
	    	 PrintWriter out = new PrintWriter(skt.getOutputStream(), true);
	         out.print(text);
	         out.close();
	         skt.close();
	         srvr.close();
		}
		catch(Exception e) 
		{
			System.out.print("Serverstart fehlgeschlagen\n");
		}

Wenn ich jetzt auf einen Button klicke, dann wird der Server aufgerufen und schickt die Nachricht an den Client:
So erhält der Client die Nachricht:

Code:
	    	try 
	        {
	           Socket skt = new Socket("localhost", 1234);
	           BufferedReader in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
	           while (!in.ready()) {}
	           input = in.readLine();
	          in.close();
	           skt.close();
	        }
	        catch(Exception e) {
	           System.out.print("Whoops! It didn't work!\n");
	        }

Das klappt auch wunderbar. Wenn der Client jetzt eine Nachricht verschicken möchte, dann macht der das so:

Code:
			Client c = new Client();
			c.connect();
			c.send("<Client>: "+writeMessage.getText());
			c.disconnect();

Diese Nachricht bekommt dann der Server:

Code:
	    ServerSocket soc = new ServerSocket(6541);
	    Socket inputsoc = soc.accept();
	    InputStream is = inputsoc.getInputStream();
	    InputStreamReader isr = new InputStreamReader(is);
	    BufferedReader in = new BufferedReader(isr);

	    while ((inputLine = in.readLine())!=null ) 
	    {
	    	System.out.println("VON CLIENT: " +inputLine);
	    	new Server().sendToClient(inputLine);
	    	write(inputLine);
	    }
	    inputsoc.close();
	    soc.close();

Mit der Zeile
Code:
new Server().sendToClient(inputLine);
schickt er diese Nachricht wiederum an den Client, um diese Nachricht dann im ClientChatFenster darzustellen. Dies mache ich so, um mit mehreren Clients zu arbeiten.

Da liegt dann auch das Problem, denn mit mit einem Client geht es wunderbar hin und her, aber nicht mit mehreren Clients.
Wenn ich einen zweiten Client einbinde, dann bekommt zwar der Server immer ganz toll die Nachricht, schickt diese aber dann nicht an beide Clients weiter, sondern nur an einen.

Was muss ich machen, damit das ganze funkioniert.

Gruß,
Thorsten F.
 
S

SlaterB

Gast
der Server muss alle offenen Verbindungen kennen und in alle OutputStream einzeln die Nachricht reinschreiben,

ich frage mich wie das im Moment wohl funktioniert,
was macht
new Server().sendToClient(inputLine);
?

wird da eine neue Verbindung aufgemacht?
welcher Rechner welcher Port, woher weiß new Server() das?
wieso nicht
inputsoc.getOutputStream().send(irgendwas)
?
 

Thorsten F.

Mitglied
Hi,

die Zeile: new Server().sendToClient(inputLine); macht das, was ich in dem obigen Beitrag als ersten Codeauszug gepostet habe.
 
S

SlaterB

Gast
achso, ok,
recht wirr natürlich,

dennoch bleibt es bei der ersten Feststellung:
für mehrere Server musst du an mehrere schicken,
z.B. könntest du auf dem Socket 1234 zweimal per accept() und beide Clients holen sich die Nachricht ab,
aber woher sollte der zweite Client wissen, dass des da was zu holen gibt?
das ganze ist also recht seltsam gebaut,

das klassische Vorgehen ist doch genau eine Verbinung,
der Server hält die Verbindungen mit allen Clients
und Antworten werden auf dieser Verbindung zurückgeschickt (6541), Port 1234 wird nicht benötigt,
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
L Socket Chat funktioniert nicht Netzwerkprogrammierung 2
T Socket Java Chat Netzwerkprogrammierung 2
xDarkSunx Chat JFrame Netzwerkprogrammierung 3
xDarkSunx Hilfe Chat Login Netzwerkprogrammierung 7
E JAVA Chat Netzwerkprogrammierung 19
C Java Chat funktioniert nicht richtig Netzwerkprogrammierung 6
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
M chat funktioniert nicht (Connection refused: connect) Netzwerkprogrammierung 3
R Java-Chat-Applet funktioniert nur in Eclipse 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
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
F Schulprojekt erweitern - Online Quiz mit mehreren Clients - Was benötige ich ? Netzwerkprogrammierung 0
Messoras Socket Chatserver mit mehreren OutputStreams Netzwerkprogrammierung 2
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
D Probleme bei mehreren Clients uns Senden von Messages Netzwerkprogrammierung 16
D Netzwerkprobleme bei mehreren Clients Netzwerkprogrammierung 4
F Peer to Peer Verbindung zwischen mehreren Clients? Netzwerkprogrammierung 8
A Server mit mehreren Clients Netzwerkprogrammierung 2
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
A Geöffnete ObjectStreams aus mehreren Methoden nutzen Netzwerkprogrammierung 4
R Problem mit mehreren Anfragen auf demselben Port Netzwerkprogrammierung 2
T RMI mit mehreren Servern? Netzwerkprogrammierung 3
J Kommunikation zw. Server und mehreren Clints haut nicht hin Netzwerkprogrammierung 2
L Logingeschützte Website mit mehreren Accs auslesen Netzwerkprogrammierung 3
D Kommunikation zwischen mehreren Servlets??? Netzwerkprogrammierung 3
P Zeit zwischen mehreren Client log-ins bestimmen. Netzwerkprogrammierung 2
S Server mit mehreren Clients Nachrichten austauschen Netzwerkprogrammierung 6
M Socket Senden an alle verbundenen Clients Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben