#include<sys/types.h>
#include<sys/socket.h>
int recv(int sockfd, void *msg, int msglen, int flags);
sockfd
ist der Socket von dem gelesen werden soll (dieser sollte zuvor
mit Hilfe von connect() mit einem anderen
Socket verbunden worden sein). msg
ist der Buffer in den die
empfangene Nachricht geschrieben wird und msglen
dessen Länge.
Mit flags
können einige Flags übergeben werden (siehe
man page) die jedoch meist nicht benötigt werden (flags = 0).
Die Anzahl der gelesenen Bytes wird zurückgegeben (oder -1 bei einem Fehler).
$ man recv
char buffer[1024];
int bytes;
if((bytes = recv(socketfd, buffer, sizeof(buffer), 0)) == -1){
/* Fehler */
}
buffer[bytes] = '\0';
/* Anmerkung: Beim Empfangen von Zeichenketten muss das abschließende '\0' angehängt werden
*/
char buffer[1024];
int bytes;
if((bytes = recv(socketfd, buffer, sizeof(buffer), 0)) == -1){
/* Fehler */
}