为什么我的套接字在 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 关闭时起作用以及如何正确执行此操作?
谢谢
詹姆斯。
我最好的猜测是您的设备一次只能连接到一个端口 - GPRS或LAN。
在尝试连接到 LAN 之前,是否可以进行搜索以查看是否打开了任何其他套接字?
如果是这样,您可以关闭它吗?
如果关闭成功,您现在可以建立 LAN 连接吗?