首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPRS6.0,支持WinCE /WiFi

GPRS6.0,支持WinCE /WiFi
EN

Stack Overflow用户
提问于 2012-03-06 20:54:16
回答 1查看 2.1K关注 0票数 3

我正在做一个项目,这应该连接到服务器通过wifi/gprs。项目是一个适用于Windows CE6.0设备的应用程序,我是在C#上用Visual Studio2008编写的。

我有两台服务器要用。第一,我必须通过wifi连接,第二,通过gprs连接。所以我需要知道,我如何改变wifi和gprs之间的连接方式?

我找到并尝试了这种方式:我在我的设备上同时打开了wifi和gprs。所以我通过wifi工作,因为它有更高的优先权。当我需要通过gprs工作时,我会关闭wifi (SetDevicePower功能)。但当我打开wifi时,它无法连接回我首选的网络。

我也听说过在操作系统优先级表中通过编程在gprs/wifi之间切换优先级的方法,但我没有找到任何关于如何做到这一点的信息。

我希望你能帮助我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-07 00:45:25

我会使用shell中的route命令。

让我们假设

代码语言:javascript
复制
server1 ip: 123.123.123.1
server2 ip: 123.123.123.2

wifi ip   : 192.168.1.101
   gateway: 192.168.1.1

gprs ip   : 10.1.2.3
   gateway: 10.1.1.1

现在,您可以在命令提示符下执行

代码语言:javascript
复制
route add 123.123.123.1 MASK 255.255.255.255 192.168.1.1

代码语言:javascript
复制
route add: 123.123.123.2 MASK 255.255.255.255 10.1.1.1

这应该会将所有的传输路由到wifi上的服务器1和gprs上的服务器2,而不会更改应用程序中的一行代码。

您可以验证它是否与

代码语言:javascript
复制
tracert 123.123.123.1
tracert 123.123.123.2

但是,您可以使用您的应用程序通过Process.Start(...)定期执行此任务(我假设gprs ip可能会不时更改)

代码语言:javascript
复制
- delete route 1
- add route 1
- delete route 2
- add route 2

您甚至可以使用IF 2开关指定接口(路由列表打印网卡的接口id )。

另一篇有趣的文章是这篇文章:http://ce4all.blogspot.com/2007/05/routing-ip-traffic-via-specified.html

作者使用GetAdapterAddresses()和CreateIpForwardEntry() P/Invoke:

http://msdn.microsoft.com/en-us/library/ms927384.aspx

http://msdn.microsoft.com/en-us/library/ee495149%28v=winembedded.60%29.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9584108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档