send() - Signatur

#include<sys/types.h>
#include<sys/socket.h>

int send(int sockfd, const void *msg, int msglen, int flags);

sockfd bestimmt den Socket, der zum Senden verwendet werden soll. msg ist der Buffer in dem die Nachricht steht 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). Der Rückgabewert ist die Anzahl der gesendeten Bytes bzw. -1 bei einem Fehler. ANMERKUNG: send() wird im Normalfall nur für Sockets, die mittels connect() verbunden sind verwendet.

Hilfe unter Linux

$ man 2 send

Beispiele

Eine Zeichenkette versenden

char *buffer = "Super Zeichenkette";

if(send(socketfd, buffer, strlen(buffer), 0) == -1){
  /* Fehler */
}
/* Anmerkung: Beim versenden von Zeichenketten wird das Abschließende '\0' nicht mitgeschickt. Daher muss der Empfänger darauf achten das '\0' anzuhängen. */

Daten versenden

char buffer[1024];
fill(buffer); /* Den Buffer mit irgendwelchen Daten füllen */

if(send(socketfd, buffer, sizeof(buffer), 0) == -1){
  /* Fehler */
}