# Lokaler Chat



## keman (18. Apr 2006)

Ich habe versucht, mit Java einen kleinen lokalen Chat zu erstellen. Allerdings unerfolgreich. Hier mein Code:

*Nachrichten senden:*

```
try {
int q_len = 6;

int port=4444;
String query = "Hallo";
Socket sock;
ServerSocket servsock = new ServerSocket port, q_len);
sock = servsock.accept();
PrintStream out = new PrintStream(sock
.getOutputStream());
DataInputStream in = new DataInputStream(
sock.getInputStream());

out.println(query);
out.flush();
String reply = in.readLine();
t.append(reply);
sock.close();

} catch (Exception E) {
E.printStackTrace();
}
```
*Nachrichten empfangen:*

```
try {
Socket sock;
DataInputStream dis;
PrintStream dat;

sock = new Socket("platform", 4444);
//platform ist mein Computername.
dis = new DataInputStream ( sock.getInputStream());
dat = new PrintStream(sock.getOutputStream());
String fromServer = dis.readLine();
t.append(fromServer);

sock.close();
} catch (Exception E) {
E.printStackTrace();

}
```
Die erste Nachricht kann problemlos gesendet und empfangen werden. Beim zweiten Mal kommt "Connection refused". Wie kann ich dieses Problem lösen?[/code]


----------



## The_S (18. Apr 2006)

Indem du deinen Socket nicht closed


----------



## keman (18. Apr 2006)

Geht leider auch nicht...


----------



## Murray (18. Apr 2006)

In Deinem Server muss es irgendeine (Endlos-)Schleife geben, damit das Programm nach der ersten Verbindung nicht terminiert.

In etwa so:

```
ServerSocket servSock = ...
while ( true) {

    Socket cliSock = servSock.accept();

   /* ... */

}
```

Normalerweise würde man die Behandlung der eingehenden Verbindung - also alles, was in der Schleife nach dem accept  passiert - noch in einen eigenen Thread auslagern, damit der Server mehrere Clients parallel bedienen kann.


----------



## Leroy42 (18. Apr 2006)

keman hat gesagt.:
			
		

> Allerdings unerfolgreich.


Man sollte es nicht glauben, aber


			
				Google hat gesagt.:
			
		

> Ergebnisse 1 - 100 von ungefähr 12.000 Seiten auf Deutsch für unerfolgreich


 :shock:


----------



## Murray (18. Apr 2006)

Leroy42 hat gesagt.:
			
		

> Man sollte es nicht glauben, aber
> 
> 
> 
> ...


Da war die Suche dann ja unerfolgloser als man hätte erwarten können :wink:


----------

