qwertz schrieb:
> ich benutze die read() funktion, welche aber leider immer stecken
> bleibt, wenn es nix zum lesen gibt.
Welches Betriebssystem? Das folgende bezieht sich auf Linux.
> Kann ich für diese Funktion ein timeout definieren?
Nein, aber Du kannst beim open() das O_NONBLOCK-Flag mitgeben, dann
kommt read() sofort mit 0 Bytes zurück wenn keine Daten vorliegen.
Dann musst Du aber ein Weilchen warten bevor du weiterliest, sonst hast
Du ein übles busy-looping implementiert.
> Finde dazu leider nur sehr abgehobene Beispiele die ich nicht
> verstehe...
Man löst das normalerweise mit poll() oder select(), mit denen man
mehrere Filedeskriptoren überwachen und auf die Verfügbarkeit von Daten
reagieren kann. So hart ist das nicht, man muss da nur einmal ein
Verständnis dafür entwickeln - dann werden plötzlich viele Dinge
einfacher.
Viele Grüße,
Simon