listen()函数的backlog参数含义详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kang___xi/article/details/83045929
#include <sys/socket.h>
int listen(int sockfd, int backlog);

sockfd是调用socket()函数的返回值,不用多解释。这里主要说明backlog参数的含义:

        为了理解其中的backlog参数,我们必须认识到内核为任何一个给定的监听套接字维护两个队列:

       (1)未完成连接队列,每个这样的SYN分节对应其中一项:已由某个客户发出并到达服务器,而服务器正在等待完成相应的TCP三路握手过程。这些套接字术语SYN_RCVD状态。

       (2)已完成连接队列,每个已完成TCP三路握手过程的客户对应其中一项。这些套接字处于ESTABLISHED状态。

       backlog参数就是上面两个队列总和的最大值。

猜你喜欢

转载自blog.csdn.net/kang___xi/article/details/83045929