Hallo,
ich habe ein kleines Problem, dem ich nicht Herr werde.
Ich habe einen Server, der bei jedem Client, der sich meldet, einen neuen Thread startet und danach wieder in der Zeile ServerSocket.accept() landet.
Nun, es ist eine Aufgabe eines Kurses, alles andere habe ich fertig, will ich nur vorher gesagt haben.
Und in dieser Aufgabe steht, dass sich der Server beenden soll, wenn kein Clients mehr da ist. Also irgendwann kommen ganz viele Clients, der Server erzeugt ganz viele Threads und wenn die Clients sich abgemeldet (& beendet) haben, dann beenden sich die Threads. Und jetzt, so die Aufgabe, soll sich der Server beenden.
Mein Problem: Ich weiß nicht wie viele Clients kommen, sonst wäre es ja einfach. Und der Server geht in einer while-Schleife immer in den accept-Zustand. Mir fällt aber nicht ein, wie ich den Server aus diesem Zustand holen könnte, denn jede Verbindungsaufnahme lässt den Server einen Thread erzeugen.
Ich wollte schon die Threads von dem Server in einen Vector hinzufügen lassen und wenn der Vector leer ist, dann soll der Server sich beenden. Nur leider kann der Server diese Bedingung ja nicht abfragen, weil er in diesem blöden accept-Zustand ist.
Hat jemand eine geniale Idee?
Das wäre toll.
Ciao micbur
ich habe ein kleines Problem, dem ich nicht Herr werde.
Ich habe einen Server, der bei jedem Client, der sich meldet, einen neuen Thread startet und danach wieder in der Zeile ServerSocket.accept() landet.
Nun, es ist eine Aufgabe eines Kurses, alles andere habe ich fertig, will ich nur vorher gesagt haben.
Und in dieser Aufgabe steht, dass sich der Server beenden soll, wenn kein Clients mehr da ist. Also irgendwann kommen ganz viele Clients, der Server erzeugt ganz viele Threads und wenn die Clients sich abgemeldet (& beendet) haben, dann beenden sich die Threads. Und jetzt, so die Aufgabe, soll sich der Server beenden.
Mein Problem: Ich weiß nicht wie viele Clients kommen, sonst wäre es ja einfach. Und der Server geht in einer while-Schleife immer in den accept-Zustand. Mir fällt aber nicht ein, wie ich den Server aus diesem Zustand holen könnte, denn jede Verbindungsaufnahme lässt den Server einen Thread erzeugen.
Ich wollte schon die Threads von dem Server in einen Vector hinzufügen lassen und wenn der Vector leer ist, dann soll der Server sich beenden. Nur leider kann der Server diese Bedingung ja nicht abfragen, weil er in diesem blöden accept-Zustand ist.
Hat jemand eine geniale Idee?
Das wäre toll.
Ciao micbur