2011-03-22 95 views
1

我有一个使用TcpListener启动服务器的Windows Mobile 6应用程序,我无法获得任何外部连接以便能够连接到服务器。 windows移动设备能够连接到外部服务器,但反过来似乎被某些东西挡住了。如果外部设备是另一个Windows移动设备或通过以太网网络适配器连接的PC或与PC的ActiveSync连接无关紧要,则所有到服务器的传入连接似乎都被阻止。TCPListener问题 - C#.Net CF 3.5

这里是代码建立的TcpListener:

IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1131); 
_connListener = new TcpListener(localEndPoint); 
_connListener.Start(); 
TcpClient newConnection = _connListener.AcceptTcpClient(); 

的应用程序只是挡在了接受命令的客人,因为它从来没有收到来自任何客户端的连接。 我也尝试了网络适配器的ipaddress,以及IPAddress.Any,但结果是一样的。

TcpClient testClient = new TcpClient(); 
testClient.Connect("192.168.33.31", 1131); 

的异常的发生:

在PC上运行的客户端应用程序(当使用以太网的网络适配器连接,其中192.168.33.31是所述移动设备的IP地址)将失败以下行。连接并指出“建立的连接被主机中的软件中止”。

网络连接存在,因为我们可以ping通两种方式。我唯一能想到的就是Windows Mobile 6有一些阻止传入网络连接的设置,但我还没有找到任何有关到Windows Mobile的传入网络连接的文档。此外,任何谷歌搜索通常没有将Windows移动设备设置为服务器,并且在Windows移动设备上运行服务器的少数相关问题未得到答复。提前致谢。

回答

0

我有同样的问题,我通过将TcpListener绑定到网络接口的实际IP地址而不是回送地址来解决此问题。 (即192.168.0.100而不是127.0.0.1)。