# BufferedReader: read() mit timeout?



## joe_canares (25. Oktober 2005)

Hi Leute,
ich such schon seit gestern, vielleicht könnt ihr mir ja weiterhelfen:

Ich habe mir einen kleinen Server geschrieben, der in Threads auf telnet-Eigaben wartet. Nun soll der Serverthread nur 5 Sekunden auf eine Eingabe warten und danach das Socket schliessen und sich selbst beenden.

Mein Problem ist nun dass der Thread beim read()-Aufruf stehenbleibt, soll er ja im Grunde auch, nur für meine Zwecke ist das etwas unpraktisch. Ich habe gehört es gäbe auch in Java so etwas wie einen read()-Aufruf mit Timeout?

Weiß da jemand was?

MfG,
Joe_Canares


----------



## Tsa (25. Oktober 2005)

Bin mir nicht ganz sicher ob dir das hilft:

java.net.ServerSocket:

setSoTimeout(ms) 
Ist bei mir dann so das er nach den angegeben ms den server schließt! 
Allerdings hat das dann nichts mit der read() methode zu tun, vlt tuts das aber  
mfg,
Tsa


----------



## teppi (25. Oktober 2005)

Man könnte ja auch gleichzeitig mit der read() Methode einen anderen Thread starten, der nach 5 Sekunden schaut, ob bspw. ein bestimmtes Flag gesetzt wurde. Dieses Flag wird halt nur gesetzt, wenn die read() Methode abgeschlossen wurde .. 

Keine Ahnung, obs dafür schon ne Klasse gibt. Aber wenn, dann heißts bestimmt irgendwas mit Observer  ..


----------

