PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inputstream: dringend !!


theVampire
30.05.2002, 19:36
Hi,

mein Problem ist folgedes:
Die Mehtode InputStream.read() wartet so lange, bis sie was
zu lesen bekommt. Dann kann man abfragen, ob durch den
Stream noch was kommt, oder nicht.

Wie mache ich es, wenn ich nur eine bestimmte Zeit auf
Informationen durch den Stream warte möchte?

Eine Möglichkeit is wohl, den Lesevorgang in einem separaten
Thread ablaufen zu lassen, wo anders die Zeit zu zählen und
wenn es zu lange dauert bis etwas kommt, den neuen Thread
zu killen.

Das müsste zwar klappen, aber gibt es keine bessere Methode?


Andreas


Jack
31.05.2002, 10:09
Hi,

die Klasse InputStream bietet dir die Funktion available().
Damit solltest du Dein Problem lösen können.
Sie gibt Dir die Anzahl der Zeichen zurück, die gerade vom
InputStream gelesen werden können, ohne Deinen Thread
zu blocken. Damit brauchst du nur ständig available auf ungleich 0
zu überprüfen, um herauszufinden, ob du etwas einlesen kannst,
bis zu deinem TimeOut.

Cya Jack

theVampire
31.05.2002, 10:16
Hi Jack,

Also wenn das funktioniert, dann könnt ich dich küssen.
Muss die Funktion wohl ständig überlesen haben

Danke
Andreas