recv

Deklaration

#include <sys/socket.h>

ssize_t recv(int sockfd, void *buf, size_t len, int flags);

Beschreibung

Mit recv() werden Daten auf einem verbundenen Socket empfangen. Wenn keine Flags benutzt werden, dann ist unter UNIX ein Aufruf von recv() in seiner Wirkung identisch zu einem Aufruf von read().

Parameter

sockfd Verbundener Socket auf dem empfangen werden soll.
buf Puffer in den die Daten gespeichert werden sollen.
len Maximale Anzahl an Bytes die gelesen werden sollen.
flags Zusätzliche Flags:
  • MSG_PEEK liest die Daten ohne sie zu "verbrauchen", d.h. der nächste Aufruf erhält die gleichen Daten erneut.
  • MSG_OOB ist auf der Seite Hintergrundwissen erklärt.
  • Weitere, systemabhängige Flags die in portablen Programmen nicht benutzt werden sollten.

Rückgabewert

Anzahl der erfolgreich empfangenen Bytes, -1 im Fehlerfall. Wenn das Schließen der Verbindung das einzige Ereignis ist, kehrt recv() mit 0 zurück.

Typische Fehler


Zurück