最近在wince6.0下进行网络通信,在ARM下使用UDP通信协议。当然了,首先按照自己的使用配置wince中的IP,修改注册表即可。
我是wince的菜鸟,但是绝不是使用UDP通信的新手,在windows下跑过多次的UDP发送端和接收端,在wince下却怎么都不能像在windows下使用那么顺利,出现了不可理解的现象:
(1)wince和wince相互通信,发送成功了,可是接收端却没有收到数据包;
(2)wince和windows相互通信,发送和接收都正常;
(3)wince和windows互发,windows再转发到另一个wince系统,转发却断断续续,而且数据包丢失严重。
这些问题困扰了将近一个星期。三人行必有我师,只有交流才能进步。通过老师的指点,wince系统中进行UDP通信不仅要改IP,还要注意wince系统默认的MAC地址是完全相同。这在网络通信时,相同的MAC地址会导致网络通信极不稳定甚至无法正常通信。
柳暗花明又一村!网上说可以在注册表中修改MAC地址,可经过我的试验这样的做法依然无法通信。我使用的是MAC地址修改工具,修改后发现,我修改的MAC地址竟然不是注册表中我之前修改的MAC地址。哎……有了工具就是事半功倍!所以强烈建议使用工具干活!
到这里,我的问题终于解决了,UDP通信正常了!都是MAC地址惹的祸啊!这里分享给大家,希望给大家提供点帮助!
wince 6.0下UDP通信需要注意MAC地址