Hallo,
ich habe einen Chatserver, der auf eingehende Clients wartet, und für Sie einen Thread startet, der für auf ankommende Nachrichten vom Client wartet und sie entsprechend verarbeitet. Meldet sich der Client ab, wird der Server angewiesen, den ensprechenden Thread zu stoppen und die Userinstanz zu zerstören. Dabei werden auch alle Resourcen der Clientverbindung, insbesondere das Socket und die Streams, aufgeräumt.
Soweit sogut. Jetzt ist es aber so, dass ja noch das Serversocket existiert, welches auf neue Verbindungen lauscht. Das muss ja noch geschlossen und freigegeben werden. Also dachte ich mir, ich installiere einen eigenen Thread der auf Konsoleneingaben horscht und bei einem bestimmten Keywort das Socket schliesst.
Dummerweise wird das Socket geschlossen, während der Server in der Methode accept steckt und wirft eine Exception. Alles logisch, aber habt ihr vielleicht einen Lösungsansatz für mich?
Grüße
ich habe einen Chatserver, der auf eingehende Clients wartet, und für Sie einen Thread startet, der für auf ankommende Nachrichten vom Client wartet und sie entsprechend verarbeitet. Meldet sich der Client ab, wird der Server angewiesen, den ensprechenden Thread zu stoppen und die Userinstanz zu zerstören. Dabei werden auch alle Resourcen der Clientverbindung, insbesondere das Socket und die Streams, aufgeräumt.
Soweit sogut. Jetzt ist es aber so, dass ja noch das Serversocket existiert, welches auf neue Verbindungen lauscht. Das muss ja noch geschlossen und freigegeben werden. Also dachte ich mir, ich installiere einen eigenen Thread der auf Konsoleneingaben horscht und bei einem bestimmten Keywort das Socket schliesst.
Dummerweise wird das Socket geschlossen, während der Server in der Methode accept steckt und wirft eine Exception. Alles logisch, aber habt ihr vielleicht einen Lösungsansatz für mich?
Grüße