BufferedReader: read() mit timeout?

joe_canares

Grünschnabel
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
 
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
 
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 :) ..
 

Neue Beiträge

Zurück