2012-04-06 195 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