Linux中TCP listen()的参数
原文:http://blog.csdn.net/kobejayandy/article/details/46989465
#include<sys/socket.h>
int listen(int sockfd, int backlog);
本函数的第二个参数规定了内核应该为相应套接口排队的最大连接个数,一般为以下两个队列的大小之和,即未完成三次握手队列 + 已经完成三次握手队列
为了更好的理解backlog参数,我们必须认识到内核为任何一个给定的监听套接口维护两个队列:
1、未完成连接队列(incomplete connection queue),每个这样的SYN分节对应其中一项:已由某个客户发出并到达服务器,而服务器正在等待完成相应的TCP三路握手过程。这些套接口处于SYN_RCVD状态。
2、已完成连接队列(completed connection queue),每个已完成TCP三路握手过程的客户对应其中一项。这些套接口处于ESTABLISHED状态。
当来自客户的SYN到达时,TCP在未完成连接队列中创建一个新项,然后响应以三路握手的第二个分节:服务器的SYN响应,其中稍带对客户SYN的ACK(即SYN+ACK)。这一项一直保留在未完成连接队列中,直到三路握手的第三个分节(客户对服务器SYN的ACK)到达或者该项超时为止(曾经源自Berkeley的实现为这些未完成连接的项设置的超时值为75秒)。如果三路握手正常完成,该项就从未完成连接队列移到已完成连接队列的队尾。当进程调用accept时,已完成连接队列中的队头项将返回给进程,或者如果该队列为空,那么进程将被投入睡眠,直到TCP在该队列中放入一项才唤醒它。
linux系统设置未连接队列最大数限制
linux系统tcp /ip协议栈有个选项可以设置未连接队列大小限制tcp_max_syn_backlog
可以通过命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog 查看
Linux 系统中提供somaxconn这个参数,它定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128
可以通过命令: cat /proc/sys/net/core/somaxconn 查看
nginx 服务器设置backlog为512
Linux中TCP listen()的参数相关推荐
- linux中tcp连接内核参数调优somaxconn
永久生效: vim /etc/sysctl.conf net.core.somaxconn=32768 sysctl -p 立即生效: sysctl -w net.core.somaxconn=327 ...
- linux数据包注释,关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
- linux中probe函数传递参数的寻找(下)
点击打开链接 linux中probe函数传递参数的寻找(下) 通过追寻driver的脚步,我们有了努力的方向:只有找到spi_bus_type的填充device即可,下面该从device去打通,当两个 ...
- Linux中 C++ main函数参数argc和argv含义及用法
Linux中 C++ main函数参数argc和argv含义及用法 简介 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vecto ...
- TCP listen() Backlog 参数详解
int listen(int fd, int backlog); socket系统调用listen只被tcp 服务器使用,他做两件事: 1. 将未链接的套接口转换为被动套接口,指示内核接受向此套接口的 ...
- Linux中命令选项及参数简介
登录Linux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着"选项"(英文options)或"参数"(英文arguments).即Linux中 ...
- linux中tcp/ip协议实现及嵌入式应用 下载,LINU中TCPIP协议实现及嵌入式应用
好文网为大家准备了关于LINU中TCPIP协议实现及嵌入式应用范文,好文网里面收集了五十多篇关于好LINU中TCPIP协议实现及嵌入式应用好文,希望可以帮助大家.更多关于LINU中TCPIP协议实现及 ...
- 查看linux中tcp连接数
一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数 netstat -nat|grep -i "80"|wc -l 2)统计httpd协 ...
- python统计字符串中数字个数 socket_Python中socket中的listen()里参数(数字)到底代表什么?...
在调用socket的时候,我们会使用到listen()函数,里面有个参数叫backlog, 例如:socket.listen(5). 那么这个数字5到底代表什么意思呢? 解答 下面使用具体的代码片段来 ...
最新文章
- 用VS2010调试微软开放的部分源码
- spark内核回顾思考 RDD
- VC中获取窗体句柄的各种方法
- m3u8文件在手机上用什么软件看_如何用手机从一个网页下载视频
- 面向 Web 前端的原生语言总结手册
- 代码中启动ros节点roslaunch和rosrun,代码启动节点与关闭节点,地图切换
- 数据结构与计算机网络参考书,2019计算机考研:数据结构参考书及复习重点
- 调用支付宝网页支付被浏览器拦截
- 批量启用AD中账户的Exchange邮箱
- 计算机无法识别 此硬盘,如果计算机无法识别硬盘驱动器,该怎么办?
- 聚观早报 | 通信行程卡正式宣布下线;《三体》首日播放量破1亿
- 给出三个坐标点,求三角形周长。
- kali启动时出现resuming from hibernation错误
- 说一说Glide.with()
- 《视觉SLAM进阶:从零开始手写VIO》第三讲 基于优化的IMU预积分与视觉信息融合 作业
- 森林防火应急指挥GIS系统森林防火监测预警系统
- Excel TEXT函数怎么把数值转换成文本
- C++中的引用变量详解
- Python之建模数值逼近篇--一维插值
- web3再牛 也没能逃出这几个老巨头的手掌心
热门文章
- 张勋说:钢渣处理和综合利用的原因及效益分析
- Qmail+Vpopmail 安装相关文档
- 2020年数维杯数学建模A题舆情监测情感倾向分析建模求解全过程文档及程序
- vue项目中使用可选链 ( ?. )和双问号 ( ??)详解
- CGT Asia 2023第三届亚洲细胞与基因治疗创新峰会将于4月上海召开
- http中get/put/post区别
- 微调电位器命名规则_电位器物料规格描述规范
- hooks useRef 报错object is possibly undefined
- 后端服务器常用软件:nginx
- 两个月,看完这套资料他终于如愿拿到阿里 Offer 了!