我有一个使用 TcpListener 启动服务器的 windows mobile 6 应用程序,但我无法获得任何外部连接以连接到服务器。windows mobile 设备能够很好地连接到外部服务器,但反过来似乎被某些东西阻止了。无论外部设备是通过以太网网络适配器连接的另一个 Windows 移动设备或 PC 还是与 PC 的 ActiveSync 连接,所有与服务器的传入连接似乎都被阻止。
下面是设置 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,但结果都是一样的。
在 PC 上运行的客户端应用程序失败以下行(其中 192.168.33.31 是使用以太网网络适配器连接时移动设备的 IP 地址):
TcpClient testClient = new TcpClient();
testClient.Connect("192.168.33.31", 1131);
异常发生在 .Connect 上,并指出“已建立的连接已被主机中的软件中止”。
网络连接存在是因为我们可以双向 ping。我唯一能想到的是 Windows Mobile 6 有一些设置阻止传入网络连接,但我还没有找到任何有关传入网络连接到 windows mobile 的文档。此外,任何谷歌搜索通常都没有将 windows 移动设备设置为服务器,并且在 windows 移动设备上运行服务器的少数相关问题也没有得到解答。提前致谢。