由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。

[操作系统] 季雨林 2021/12/10 16:52:42

我在windows 10上测试对一个socket程序的最大连接数,发现建立了大概16000个左右的socket客户端之后就提示错误:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。

有人说遇到这个错误原因是虚拟内存太小或者C盘满了。但我的情况显然不是,硬盘内存都没用用完,跳过这个结论。


经过查询msdn,这是windows 10系统的限制。在报错之后,我确实连浏览器搜东西都无法打开了,可见占用的应该是系统级别的网络连接类的信息。修改(初次操作实际是添加DWORD类型)注册表项目可以修改这个默认配置(Windows下,运行 regedit,回车进入):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

查看有没有:MaxUserPort,设置10进制值为65534(已经是系统最大),无需重启即可生效




原文地址: https://www.opengps.cn/Blog/View.aspx?id=950 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示