使用SSLStream的套接字服务器有时会拒绝来自客户端的新连接。
我使用了telent主机名端口,它说Connecting To host...
无法在端口6002上打开与主机的连接:连接失败
我使用netstat -a
,我将TCP状态视为
TCP 0.0.0.0:6002 host:0 LISTENING
我也看到该服务也在tcpview
收听。
我在客户端看到的错误是connection refused with error code 10061
。
同一个套接字服务器正在接受新的连接并且运行正常而没有任何问题。但是一段时间后上述问题发生了。随机。
当我重新启动套接字时,它可以正常工作并接受连接,但我不想这样做。这样就会断开连接已经连接的客户端。
有人可以帮我解决这个问题吗?
感谢。
答案 0 :(得分:0)
你在哪里运行netstat?在服务器上?
我的猜测是防火墙阻止了外部访问,或者介于两者之间的路由器阻止了连接。
答案 1 :(得分:0)
它会工作一段时间然后停止。我能想到的几个选项:
途中有些防火墙会进行某种限制
您过快地打开和关闭太多连接。在这种情况下,您将耗尽客户端(通常)和/或服务器上的临时端口。如果你使用netstat -a,你会看到很多处于TIME_WAIT状态的套接字,在客户端和服务器上都尝试这个。这里的解决方案是重用连接(最好)。或者增加临时端口的数量(注册表设置)。但这只会带你到目前为止。
您的服务器中存在错误,一段时间后它就会停止接受新连接。