11.4.3 connect 函数

11.4.3 connect 函数

客户端通过调用 connect 函数来建立和服务器的连接。

#include <sys/socket.h>

int connect(int clientfd, const struct sockaddr *addr,
            socklen_t addrlen);

返回: 若成功则为 0,若出错则为 -1。

connect 函数试图与套接字地址为 addr 的服务器建立一个因特网连接,其中 addrlensizeof(sockaddr_in)connect 函数会阻塞,一直到连接成功建立或是发生错误。如果成功,clientfd 描述符现在就准备好可以读写了,并且得到的连接是由套接字对

(x:y, addr.sin_addr:addr.sin_port)

刻画的,其中 x 表示客户端的 IP 地址,而 y 表示临时端口,它唯一地确定了客户端主机上的客户端进程。对于 socket,最好的方法是用 getaddrinfo 来为 connect 提供参数(见 11.4.8 节)。