当在wince系统中添加一个网卡时,操作系统会自动生成相关的路由信息,利用ce系统自带的route命令可以查看系统当前所有的路由记录。下图是预装wec7的esm6802工控主板的路由表,其中destination和netmask为0.0.0.0的记录表明这是系统缺省路由,缺省路由的意思是当要发送数据包的目标网络地址不在系统的路由记录中时,系统会将该数据包通过缺省路由对应的接口(网卡)发送出去。
路由记录中的metric为跃点数,当系统中有多个缺省路由时,数据包会通过metric更低的接口传输。如果系统中有多个网络接口,则可利用metric来选择网络数据的优先传输路径。使用wince系统自带route命令即可修改路由记录的metric值,但通过命令行执行route命令相对来讲不够直观,因此我们实现了一个带界面的路由表编辑程序groute,如下图是在esm6802上运行groute后,程序显示的系统路由表,路由表中同时指明了每条记录对应的网络接口名称。groute程序支持添加、修改和删除路由记录等功能。
上图groute程序显示的路由表中,网络目标和网络掩码为0.0.0.0的缺省路由enet1和enet2是esm6802的两个以太网接口,除此之前还有3条缺省路由:
com1:当wince主板通过activesync与电脑连接时生成的虚拟网络连接,实际使用时可忽略。
huawei em770w modem:华为em770w 3g模块拨号上网后生成的路由记录。
eta6210 wifi modem:eta6210 wifi模块连接到网络后生成的路由路由记录。
上面的缺省路由记录中,有线以太网nent1、nent2和metric分别为21和31,wifi连接和em770w 3g拨号连接的metric为11。基于当前的路由表,网络数据会优先选择3g拨号连接或wifi网络路径。在实际应用中,通常希望数据优先从有线以太网接口传输,然后是wifi,最后才走4g/3g网络,此时就需要手动修改路由表以实现选路需求。为了方便用户使用, groute程序直接提供了网络优先级配置功能,如下图,一旦勾选了“配置网络优先级”,groute程序会自动修改wifi和ppp拨号连接的metric值,实现网络优先级的配置。
当网络状态发生变化时(比如ppp拨号断线重连),系统会重新生成新的路由记录,可以在勾选groute程序“配置网络优先级”的同时勾选“定时刷新”功能,groute程序就会每隔几秒检查一下路由表并配置网络优先级。
groute也可以作为控制台程序启动运行,当通过命令行执行groute程序并带上刷新时间参数时, groute启动后不显示界面,保持在后台每隔一定时间检查/设置网络优先级。
在应用程序中可以通过createprocess启动groute程序,此时同样需要带上刷新时间参数,如果用户不希望groute在屏幕上显示任何信息,可以增加/d或-d参数,相关的信息就会从系统的com_dbg口输出。应用程序中调用groute方法比下:
process_information procinfo;
tchar szcmdline[20] = l5 -d; // 注意参数之间需要至少一个空格分隔
if( !createprocess( l\\edisk\\groute.exe, szcmdline, null, null, false, 0, null, null, null, &procinfo ) )
trace( lcreateprocess failure! );
wince自带的tracer命令用于跟踪网络数据的传输路径,可以验证上面设置metric值选路的方法是否有效,感兴趣的用户可以自行测试。
CentripetalNet:更合理的角点匹配,多方面改进CornerNet
CEEASIA2023规划公布!今年10月相聚北京
大蓝安全技术奖重构数据安全防护
智能光照培养箱在实验室中的作用是什么
在i.MX RT10XX系列平台上进行OTA
英创信息技术WinCE主板多网络优先级设置介绍
python怎么设置循环次数
无线麦克风电路图
C语言中的不完整类型是什么
芯讯通携手通则康威开发5G FWA CPE等多形态数据终端产品
电阻串联和并联的计算方法_电阻串联和并联的作用
除了AI,骁龙660还有哪些亮点
CPU片内总线结构差异解析
LM1876电桥输出音频功率放大电路
大气负氧离子监测系统介绍
如何选择8位、16位、32位MCU中合适的器件
圆柱电芯常温化成分容充放电设备
荣耀9什么时候上市最新消息:华为荣耀9渲染图曝光!麒麟960+正面指纹+取消耳机孔 酷似小米6
酷派大神F1高清拆机过程图集
iPhone11暗夜绿为什么大火