CONNECT(2)

JMÉNO
connect - inicializuj spojení soketu

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

int connect(int sockfd, struct sockaddr *serv_addr, int addrlen );

POPIS
Parametr sockfd je soket. Je-li jeho typ SOCK_DGRAM, potom toto volání specifikuje, kam má tento soket standardně posílat data. Tato adresa je jediným místem, odkud a kam budou přijímány, resp. posílány datagramy. Je-li typ soketu SOCK_STREAM , potom se toto volání pokusí navázat spojení s jiným soketem, který je specifikován v serv_addr, což je adresa v jmenném prostoru soketu. Každý jmenný prostor interpretuje adresu v serv_addr podle svého. Obvykle se mohou proudové sokety spojit pouze jednou; datagramové sokety mohou použít volání connect vícekrát. Datagramové sokety mohou zrušit asociovaný soket tak, že se pokusí spojit s nějakou neplatnou adresou (nebo s adesou NULL).

NÁVRATOVÁ HODNOTA
Je-li spojení navázáno, je vrácena 0, jinak -1 a externí proměnná errno je příslušně nastavena.

CHYBY
Tento seznam je pouze všeobecný. Mohou existovat další specifické chyby pro použitý jmenný prostor.

EBADF
    Špatný deskriptor.

EFAULT
    Adresa soketu je mimo adresový prostor procesu.

ENOTSOCK
    Deskriptor není platným deskriptorem soketu.

EISCONN
    Soket je již spojen.

ECONNREFUSED
    Spojení bylo serverem odmítnuto.

ETIMEDOUT
    Časový limit pro spojení vypršel.

ENETUNREACH
    Síť není dosažitelná.

EADDRINUSE
    Adresa je již používána.

SPLŇUJE STANDARDY
SVr4, 4.4BSD (volání connect se poprvé objevilo v BSD 4.2). SVr4 dokumentuje další chybové kódy: EADDRNOTAVAIL, EINVAL, EAFNOSUPPORT, EALREADY, EINTR, EPROTOTYPE, ENOSR.

DALŠÍ INFORMACE
accept(2), bind(2), listen(2), socket(2), getsockname(2)