单Windows 10主机实现10万并发出站TCP连接遇64k限制问题求助
单Windows 10主机实现10万并发出站TCP连接遇64k限制问题求助
我现在正尝试用一台Windows 10主机,向本地服务器建立10万并发的出站TCP连接,我的程序可以为每个连接指定不同的客户端IP。
目标
单台Windows 10主机实现约10万并发出站TCP连接。
遇到的问题
当连接数达到约6.4万时,客户端侧总会抛出错误:
"dial tcp bind: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full."
我确定这是客户端侧的问题。
已尝试的解决方案
- 通过注册表将客户端和服务器的最大端口值设置为65534
- 客户端单网卡绑定7个IP,服务器单网卡绑定1个IP(仍报错)
- 客户端单网卡绑定7个IP,服务器单网卡绑定2个IP(仍报错)
- 客户端7个网卡各绑定1个IP,服务器单网卡绑定1个IP(仍报错)
- 客户端7个网卡各绑定1个IP,服务器单网卡绑定2个IP(仍报错)
- 客户端7个网卡各绑定1个IP,服务器2个网卡各绑定1个IP(仍报错)
补充说明:上述第2到第6种尝试中,每个客户端IP大约处理14300个连接。
- 客户端IP段:192.168.1.31/24 至 192.168.1.37/24
- 服务器IP:192.168.1.20/24 和 192.168.1.21/24
- 客户端和服务器均使用Windows 10系统
我查了很多相关资料,推测这个问题和TCP规则有关。有资料说单个IP最多能处理65535个TCP连接,但我已经用了7个客户端IP(甚至搭配多网卡),还是遇到了这个限制。
有没有大佬能给我一些建议或者解决方案?非常感谢!
备注:内容来源于stack exchange,提问作者ekomonimo
相关产品推荐
相关产品推荐

