Unix网络编程常用函数深度解析(干货)

  1. 云栖社区>
  2. 阿里云MVP>
  3. 博客>
  4. 正文

Unix网络编程常用函数深度解析(干货)

子夜初商南 2019-08-13 23:00:29 浏览24705
展开阅读全文

linux网络编程常用函数说明

connect函数

int connect (int sockfd,struct sockaddr * serv_addr,int addrlen);
(1)connect之前调用bind不是必须的,内核会分配ip以及临时port;
(2)connect调用后,会发送SYN分节,如果没有收到SYN-ACK分节,则返回ETIMEOUT;
底层细节说明:发送SYN,6s后未收到SYN-ACK,则再发送一个SYN,24s后未收到SYN-ACK,则再发一个SYN。共等待75s后仍未收到响应,则ETIMEOUT;(如connect一个子网内未分配的ip)
对工程的启示:阻塞connect,在后端挂掉的情况下,75s才返回,这个过程中,有可能阻塞所有工作线程或IO线程;
(3)connect调用后,如果得到的响应是RST,则

网友评论

登录后评论
0/500
评论
子夜初商南
+ 关注
所属云栖号: 阿里云MVP