为什么我的套接字在 Windows Mobile 6 上连接 GPRS 时无法通过 LAN 连接

本文关键字:连接 GPRS LAN 套接字 我的 Windows Mobile 为什么 | 更新日期: 2023-09-27 18:35:09

我们有一个紧凑的框架 3.5 应用程序,它通过网络底座执行一天结束的下载作业。

该设备是带有Windows Mobile 6.1 Professional的摩托罗拉MC9500。

为此,我们创建一个Socket类并调用Connect()

但它仅在GPRS未连接时才有效。

如果 GPRS 已连接,则方法将超时。

我们的解决方案是在将设备放入底座时以编程方式关闭手机电源,并在取出设备时再次打开。

但这是非常蛮力,我们不明白为什么它不起作用,当它应该工作时!

这是连接(sServerIPAddress == "192.168.27.107")的代码:

oEndPoint = new IPEndPoint(IPAddress.Parse(sServerIPAddress), i);
oSock = new Socket(oEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
oSock.Connect(oEndPoint);

以下是连接两个接口时的路由表:

Destination     Netmask         Gateway         Metric
0.0.0.0         0.0.0.0         192.168.27.1    20
0.0.0.0         0.0.0.0         10.212.14.71    50
10.0.0.0        255.0.0.0       10.212.14.71    50
10.212.14.71    255.255.255.255 127.0.0.1       50
10.255.255.255  255.255.255.255 10.212.14.71    50
127.0.0.0       255.0.0.0       127.0.0.1       1
* 192.168.27.0  255.255.255.0   192.168.27.52   20 *
192.168.27.52   255.255.255.255 127.0.0.1       20
192.168.27.255  255.255.255.255 192.168.27.52   20
224.0.0.0       240.0.0.0       192.168.27.52   20
224.0.0.0       240.0.0.0       10.212.14.71    50
255.255.255.255 255.255.255.255 10.212.14.71    1
255.255.255.255 255.255.255.255 192.168.27.52   1

据我所知,应该为目标地址选择局域网

我不明白 WinMo 连接管理器应该与此有任何关系,当然在 IP 级别只有路由表对连接运行很重要?

谁能告诉我为什么它只在 GPRS 关闭时起作用以及如何正确执行此操作?

谢谢

詹姆斯。

为什么我的套接字在 Windows Mobile 6 上连接 GPRS 时无法通过 LAN 连接

我最好的猜测是您的设备一次只能连接到一个端口 - GPRS或LAN。

在尝试连接到 LAN 之前,是否可以进行搜索以查看是否打开了任何其他套接字?

如果是这样,您可以关闭它吗?

如果关闭成功,您现在可以建立 LAN 连接吗?