返回顶部
首页 > 资讯 > 精选 >由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作--解决方法
  • 320
分享到

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

2023-06-03 18:06:34 320人浏览 薄情痞子
摘要

异常信息:System.net.Sockets.SocketException (0x80004005): 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 192.168.0.187:22   at

异常信息:

System.net.Sockets.SocketException (0x80004005): 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 192.168.0.187:22

   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)

   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)

   at Tamir.Sharpssh.java.net.Socket..ctor(String host, Int32 port)

   at Tamir.SharpSsh.jsch.Util.createSocket(String host, Int32 port, Int32 timeout)

错误描述:

服务器上部署有  WEBService、处理服务:WebService有客户端轮询调用;处理服务也轮询数据库

进行相关处理后上传文件到SFTP上。

解决方法:

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

使用 NETSTAT -ano>C:\NET.TXT

在文件C:\NET.TXT的尾部发现

 tcp    192.168.1.122:65529    192.168.1.124:53343    FIN_WaiT_2      22668
 TCP    192.168.1.122:65530    192.168.1.124:53017    FIN_WAIT_2      14508
 TCP    192.168.1.122:65531    192.168.1.124:64365    FIN_WAIT_2      23160
 TCP    192.168.1.122:65532    192.168.1.124:58246    FIN_WAIT_2      23064
证明该服务器上套接字端口已被分配完。

修改两个注册表:

HKEY_LOCAL_MacHINE\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort  如果没有,则手动创建 DWord(32位)  ”数值数据“改为十进制65534 或者认为适当的值。

此值表示 用户最大使用的端口数量,默认为5000。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\TCPTimedWaitDelay 如果没有,则手动创建 DWord(32位)  ”数值数据“改为十进制30 或者你认为适当的值。

此值表示一个关闭后的端口等待多久之后可以重新使用,默认为120秒,也就是2分钟才可以重新使用。

参考微软各个参数的解释:

--结束END--

本文标题: 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作--解决方法

本文链接: https://lsjlt.com/news/235281.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作