异常信息:
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上。
解决方法:
修改两个注册表:
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersMaxUserPort 如果没有,则手动创建 DWord(32位) ”数值数据“改为十进制65534 或者认为适当的值。
此值表示 用户最大使用的端口数量,默认为5000。
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersTCPTimedWaitDelay 如果没有,则手动创建 DWord(32位) ”数值数据“改为十进制30 或者你认为适当的值。
此值表示一个关闭后的端口等待多久之后可以重新使用,默认为120秒,也就是2分钟才可以重新使用。