(1)当socket函数创建一个套接字时,它被假定为一个主动套接字;listen函数把一个未连接的套接字转换成一个被动套接字;

(2)listen函数的第二个参数规定了内核应该为相应套接字排队的最大连接数

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
#include <sys/socket.h>
int listen(int sockfd, int backlog);
    返回:成功返回0,出错则为-1

(3)内核为任何一个给定的监听套接字维护两个队列:

  I.  未完成队列,每个SYN分节对应其中的一项;这些套接字处于SYN_RCVD状态;

  II. 已完成队列,这些套接字处于ESTABLISTEND状态

  listen函数 随笔 第1张

(4)TCP三路握手和监听套接字的两个队列

       listen函数 随笔 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄