listen函数backlog参数
来源:互联网 发布:先锋编辑软件 编辑:程序博客网 时间:2024/06/05 05:39
函数原型:
int listen(int sockfd,int backlog);
作用:
1. 将套接字从CLOSE状态转换到LISTEN状态
2.设置此套接字上排队的最大连接个数
backlog其实是一个连接队列,以下是backlog队列大小公式。
backlog队列总和 = 未完成三次握手队列 + 已经完成三次握手队列
注:
并不是指backlog的上限就是那么大。
listen()对应的内核实现为sys_listen()。
为了理解backlog参数,我们必须认识到内核为任何一个给定的监听套接口维护两个队列:
1、未完成连接队列(incomplete connection queue):服务器处于listen状态时收到客户端syn 报文(connect)时放入未完成队列中2、已完成连接队列(completed connection queue):三路握手的第二个状态即服务器syn+ ack响应client后,此时第三个状态ack报文到达前(客户端对服务器syn的ack)一直保留在未完成连接队列中,如果三路握手完成,该条目将从未完成连接队列搬到已完成连接队列尾部.
修改连接数:
backlog参数设置既可以在linux内核参数设置(修改文件/etc/sysctl相关参数),也可以在socket系统调用listen函数时设置(第二个参数),这二者区别是,前者为全局性的,影响所有socket,后者为局部性的,影响当前socket。
0 0
- listen函数backlog参数
- listen函数backlog参数解析
- listen函数中backlog参数的意义
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- listen()函数中backlog参数分析
- tcp/ip协议listen函数中的backlog参数的含义
- tcp/ip协议listen函数中backlog参数的含义
- tcp/ip协议listen函数中backlog参数的含义
- linux下socket函数之listen的参数backlog
- tcp/ip协议listen函数中backlog参数的含义
- Android中json文件的生成和解析样例
- FPGA计算器实现心得
- Hadoop家族学习路线图
- python如何向sqlite3中插入中文字符串
- Java 获取请求客户端IP地址
- listen函数backlog参数
- verilog数值计算-有符号数和无符号数
- 树莓派(pi3)和Arduino之间用I2C总线通信
- (51nod)1283
- SPOJ Query on a tree
- python构建深度神经网络(DNN)
- Mac下Maven的使用
- Cadence Allegro学习之交互式布局与飞线处理
- 使用Axis2方式发布webService的三种方式