发起连接

函数原型

1
2
3
4
#include <sys/types.h>
#include <sys/socket.h>

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

形参

sockfd参数是socket系统调用返回的一个文件描述符。serv_addr参数是服务器监听的socket地址信息,addrlen参数则指定这个地址的长度。

返回值

connect成功返回0,失败返回-1,并且设置errno的值。常见的errno的值为:

  • ECONNREFUSED:目标端口不存在,连接被拒绝,这个在之前介绍监听socket时,提到了这个错误信息。
  • ETIMEDOUT:连接超时。