[C] Gegenstück zu IOCTLSOCKET unter Linux

Hallo!

Stichwort Socketprogrammierung: Ich brauche eine Funktion mit der ich, unter Linux, abfragen kann, wieviel Daten im Netzwerk-Inputbuffer für die Funktion Recv() zum Lesen bereitstehen oder anders gesagt, ich möchte verhindern, dass die Funktion Recv() solange wartet, bis es etwas zu Lesen gibt (hab was von ‚nonblocking‘ gehört?). Unter Windows kenne ich für diese Aufgabe ioctlsocket() gibt es ein ähnliches Gegenstück für die C-Programmierung unter Linux?

–Jan Vornberger

Hallo!

Mit fcntl() kannst du auf non-blocking umstellen, geht inetwa so:

fcntl( descriptor, F_SETFL, O_NONBLOCK );

Für Details „man recv“ und „man fcntl“ … :smile:

Grüße, Robert

Danke, das hat mir geholfen!
Aber ein Problem hätte ich da noch (passt zwar eher nach Linux, aber wo der Artikel nun schon hier ist…), bei mir gibt es keine Manual-Einträge für z.B. recv oder fcntl. Was für ein Packet muss ich dafür installieren?

–Jan Vornberger

Uh, sorry, keine Ahnung, bin noch nie auf ein System gestoßen wo die Doku für die ganzen C-Libraries nicht dabei war. :o)

Grüße, Robert