Hallihallo,
falls hier jemand ist, der sich zufällig mit Sockets in Java auskennen sollte:
Ist es möglich, die Methode accept() aus der Klasse ServerSocket zu unterbrechen?
Z.Z. läuft mein Server so, dass er in einer while-Schleife Clients am ServerSocket entgegennimmt:
while(!closed)
{
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept();
//Clients in eigenen Thread auslagern
ClientThread ct = new ClientThread(s, distributor);
distributor.add((StreamReceiver)ct);
}
Das Programm wird beendet, indem ich einen quit-Befehl von der Kommandozeile auslese und daraufhin unter anderem closed auf true setze. Das führt hier aber nicht dazu, dass die Schleife abgebrochen wird, da das Programm noch an der Methode accept() hängt und nicht mal einen Schleifendurchlauf beenden kann.
Wie kann ich jetzt diese blockierende Methode killen?
Hilft da nur ein System.exit(0); ?
Hoffe, dass ich hier einen Experten finde :-)
MfG Simon