2009-04-25 85 views
0

上我有一個Windows服務,它與服務器通信,並作爲客戶端和真實服務器之間的代理。客戶端數據被髮送到服務器和服務器的數據回到客戶端。以上兩者完全獨立,因爲它們在單獨的線程上運行。插座似乎給問題外網

以下是以下步驟: -

  1. 插座由聽衆接受
  2. 線程1 - 從服務器接收數據並將其發送到客戶端
  3. 線程2 - 從客戶端接收數據,並將其發送到服務器

這在本地網絡上連續幾個小時沒有問題(如果客戶端和服務器在同一臺機器上或同一本地網絡上)

問題是當客戶端在不同的網絡上。我的服務器在Win2003服務器上偵聽,並擁有公共IP。當客戶端嘗試使用公共IP +端口連接到此服務器時,將建立連接,但它很快會被丟棄,並拋出一個SocketException(10053-由該機器上的軟件中止連接)。此機器上沒有運行防病毒客戶端,並且Windows防火牆已關閉。

**更新

該服務的客戶端服務器上運行,我不是很肯定任何其他防火牆。該服務在我的網絡上的客戶端的Win2003服務器上運行良好,但在與另一個網絡上的客戶端不同的服務器上出現問題。

+0

是否有兩個網絡之間的任何其他防火牆? – 2009-04-25 02:37:23

回答

0

的問題是與Windows XP SP2本身。我試圖連接從Windows Server 2003或Vista的客戶端,它工作正常。以下鏈接說明問題:http://support.microsoft.com/kb/938566

我也試圖更新至SP3和應用上述修補程序,並沒有幫助我。但無論如何,鏈接解釋了Windows XP的問題,並且客戶端在Server 2003和Vista中運行良好。

2

我做的第一件事就是在這兩個框運行Wireshark來看看什麼是真正發生的事情。