2009-04-25 108 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来看看什么是真正发生的事情。