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,则

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信