2012-04-06 191 views
1

SSLStream的Socket服务器有时拒绝来自客户端的新连接。SSL Socket服务器的连接问题

我用TELENT主机端口,和它说Connecting To host...

无法打开连接到主机,在端口6002:连接失败

我用netstat -a,我看到TCP状态作为

TCP 0.0.0.0:6002主机:0听力

我也看到服务也在tcpview听。

我在客户端看到的错误是connection refused with error code 10061

相同的套接字服务器正在接受新的连接,运行良好,没有任何问题。但过了一段时间,上述问题发生。

当我重新启动套接字时,它可以正常工作并接受连接,我不想这么做,因为这会断开已连接的客户端连接。

有人可以帮我解决这个问题吗?

谢谢。

回答

0

你在哪里运行netstat?在服务器上?

  1. 尝试连接到插座从本地主机(从服务器本身)使用目标IP地址127.0.0.1
  2. 做同样的测试与服务器的网络IP。

我的猜测是防火墙阻止了外部访问,或者路由器之间阻止了连接。

+0

我跟着msdn的例子http://msdn.microsoft.com/en-us/library/fx6588te.aspx。我试图做telnet 127.0.0.1端口,仍然是同样的问题。我认为这发生在客户端断开其连接时。这种行为是不一致的 – dabididabidi 2012-04-07 12:58:29

0

它工作了一段时间,然后停止。几个选项,我能想到的:

  1. 的方式有些防火墙做某种节流

  2. 你打开和关闭连接过多过快的。在这种情况下,您会耗尽客户端(通常)和/或服务器上的临时端口。如果你使用netstat -a,你会看到很多TIME_WAIT状态的套接字,请在客户端和服务器上尝试这个套接字。这里的解决方案是重用连接(最好)。或者增加临时端口的数量(注册表设置)。但是这只会带你到目前为止。

  3. 您的服务器中存在一个错误,并且一段时间后它会停止接受新的连接。

+0

我跟随msdn示例http://msdn.microsoft。com/en-us/library/fx6588te.aspx.I尝试使用telnet 127.0.0.1端口,仍然是同样的问题。我做了netstat-a,没有看到与TIME_WAIT的任何连接。我认为这发生在客户端断开其连接时发生。这种行为并不一致。 – dabididabidi 2012-04-07 12:54:25