# Server accept-Methode zeitlich begrenzen



## nassi (30. Apr 2005)

Hi,

ahbe ein komplexeres Client Server Programm geschrieben. Nun möchte ich aber auch, dass mein Server beendbar ist.

Mein Server kann über einen Thread Benutzereingaben lesen. Wenn Quit eingegeben wird, dann wird der BenutzereingabeThread beendet (via boolsche Variable). Zusätzlich wird die Schleife mit der Server-accept-Methode beendet. Das Problem:
Der accept-Teil sieht ungefähr so aus:

while (quit==false)
{
try...

server.accept();
...
}

wenn quit jetzt aber true gesetzt wird, weil das Prog beendet werden soll, dann wird erst abgewartet, bis sich ein client wieder accepted hat und die while Schleife neu geprüft wird. Erst dann wird das Prog beendet.

Meine Frage ist, ob ich nun sagen kann, dass er 300 Millisekunden versuchen soll zu accepten und wenn er bis dahin nix gefunden hat, er die Schleife neu starten soll.

Oder gibt es noch eine einfacherer Art den Server zu beenden? (ohne in der Konsole Str+c zu drücken)


----------



## Beni (30. Apr 2005)

ServerSocket#setSoTimeout( 300*1000 ).

Wenn es dann zulange wartet, fliegt eine Exception daher (siehe API).


----------



## bellmann29 (2. Mai 2005)

Wer komplexere Serverprogramme schreibt, sollte tatsächlich mehr API lesen. :meld: 

Nicht böse gemeint, nur ein Hinweis.


----------

