一、listen函数原型:
int listen(int sockfd, int backlog);-------------成功返回0,错误返回-1
二、特点:
1.仅被TCP服务器调用
2.listen函数将一个未连接的套接字转换成为一个被动的套接字,指示内核应接受指向该套接字的连接请求
3.backlog(积压值)规定了内核应该为相应套接字排队的最大连接个数。
三、backlog参数理解
内核为任何一个给定的监听套接字维护两个队列:
(1)未完成连接队列:服务器收到客户端的SYN报文,处于SYN_RCVD状态。
(2)已完成连接队列:服务器端完成三次握手,处于ESTABLISHED状态。
历史上曾经把backlog定义为两个队列的和。实际中要看具体系统的实现,有些系统中为已完成连接队列大小。
另外backlog值与实际的连接数的关系,不同的系统也不同,有些相等,有些不等。
阅读(511) | 评论(0) | 转发(0) |