#include <sys/socket.h> int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
Mit connect() wird ein Socket verbunden, d.h. sein entfernter Endpunkt festgelegt. Für TCP-Sockets bedeutet das, dass der 3-Wege-Handshake ausgeführt wird, was eine Zeit lang dauern kann. Bei UDP-Sockets wird nur die Zieladresse festgelegt, sodass danach send() anstelle von sendto() benutzt werden kann.
sockfd | Socket der verbunden werden soll. |
---|---|
addr | Zieladresse mit der verbunden werden soll. Dies ist für Sockets der Familie AF_INET eine Struktur vom Typ sockaddr_in, die jedoch auf sockaddr gecastet werden muss. |
addrlen | Grösse der übergebenen Struktur, also z.B. sizeof(struct sockaddr_in) bzw. der verwendeten Variable. |
Bei erfolgreichem Aufruf ist der Rückgabewert 0, im Fehlerfall -1.