-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
有关tcp_max_syn_backlog不对SYN_RECV队列限制的讨论 #1
Comments
好吧,我明确下场景。
如果listen(2)的话,按照你的server.py程序,服务端会accpet一次(代码第9行)
然后你又启动了4个client再去连,只会出现2个 |
是的, 多余的2个连接压根就没出现(在这4个客户端那边查看时, 连接状态都是 |
connect返回了,只是在read()函数那里读数据,因为没有数据阻塞了,你在connect()之后加输出就可以看到了。
原因见这里:https://blog.csdn.net/yangbodong22011/article/details/69802544 |
OK, 纠正一下, 之前的两次测试分别在Fedora 24和Ubuntu 16.04下进行, 都是桌面版. 刚才又尝试在CentOS7下做了一遍(也是桌面版)...这次 不过 |
没能限制住?这个是指你启动超过了128个client,同时SYN_RECV队列长度超过了128? 我觉得版本应该不影响的,即使不同内核版本策略有更新,但是SYN_RECV队列总是要的,而且长度总是需要控制的,用
|
看了你的笔记,我运行了你的代码,我这边不断启动client连接server,SYN_RECV状态的连接数是不断上升的。
运行过程
所以我觉得你一定是实验中什么环节错误了,tcp_max_syn_backlog参数即使内核版本不同,也不会随便改含义的,再确定下你的实验步骤。
The text was updated successfully, but these errors were encountered: