Socket:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
https://blog.csdn.net/weixin_45932157/article/details/113999801
最近服务器的Socket代理软件经常报这个错误:
log:Error On : 2013-5-17 0:01:00 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 在
System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot,
SocketAddress socketAddress) 在
System.Net.Sockets.Socket.Bind(EndPoint localEP) 在
AdKiller.SocketPool.CreateSocketWithoutConnect(Uri hostUri, IPEndPoint
p)
英文版 叫:
An operation on a socket could not be performed because the system
lacked sufficient buffer space or because a queue was full.
今天抽空,查了一下网络,基本上发生的问题的原因如下:
默认只有5000可用端口,每次绑定使用后,默认需要120秒后才能恢复使用。
所以,由于代理软件会大量请求转发,所以很频繁,以至于出现这种问题。
解决的方法很简单:
1:修改默认可用端口数:
注册表下:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新增加一项:MaxUserPort
对应的值:6万个左右就OK了。
看着MaxUserPort这个词,我在怀疑是不是作者打错字,会不会是MaxUsePort,经过多数查找,还是发现前者的多的,所以估算应该是“最大用户端口”,而不是“最大使用端口”
2:修改间隔的恢复时间:
注册表下:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新增加一项:TcpTimedWaitDelay
对应的值:10s 左右。
特此记录。
————————————————
版权声明:本文为CSDN博主「你的美,让我痴迷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45932157/article/details/113999801
WCF NetTcpBinding 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作https://www.cnblogs.com/yf2011/p/5129829.html
https://www.cnblogs.com/tianzhiliang/articles/2400176.html
https://blog.csdn.net/libaineu2004/article/details/49027303/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南