Ethernet Support for Series 60 SDK
Ethernet support for Series 60 SDK enables your emulator to access your Ethernet cards. The Ethernet support for Series 60 SDK is a developer’s tool that lets you access IP networks via an Ethernet card. This is useful if your application needs access to the Internet.
Series60对以太网的支持能使模拟器访问以太网卡,并且能使Series60的开发人员通过以太网卡访问IP网络。这个特性在你的应用程序需要访问互联网的时候特别有用。下面是nokia提供的一个示意图:
这个特性对于开发需要连接互联网的程序的确很有用,在开发的时候不需要GPRS的环境就能得到和GPRS一样的效果,在部署到实际的手机上的时候,切换一下Access Point(接入点)即可。首先先来看看模拟器的界面吧,看到了可爱的python了吧?
可是我在配置这个特性的时候遇到了很大问题,首先我的notebook有两个网卡,一个是Arthreos的Ar5001x+的802.11a/b/g双模三频无线网卡,另外一个是很常见的RTL8139 10/100自适应网卡。因为我是使用Alpha的802.11G无线路由器连上长宽的网络,所以我在配置Ethernet Support for Series 60 SDK的时候首选了无线网卡,结果在模拟器连接网络的时候报错,说是网卡不支持promiscuous混杂模式,什么是promiscuous mode呢?所谓的promiscuous mode就是指模拟器的虚拟出来的网卡可以具有一个和真正的网卡不同的MAC地址,这样在调试网络的时候比较有用,因为它们在逻辑上是两个独立的网卡了。然后又尝试了一下非promiscuous mode,然后手动配置了一下ip地址,还是不行,只好放弃,改用RTL8139,这次连接网络没有报错了,但是没有任何结果返回,到底有没有配置成功呢?要想个办法证实一下,嗯。。。想想。。。呵呵,有了,可以用嗅探器,比如Ethereal,记得上次用嗅探器好像很久了,为了得到一个mm的生日,^……^。。。ok,开工:
1.下载注释WinPcap 3.0以上的版本,Ethereal的分析引擎会用到Pcap库。
2.下载Ethereal
3.打开$\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\data\ethermac.dat文件,这个文件里保存着模拟器虚拟的网卡的mac地址。我们得到这个地址以后就可以分析跟踪发生在这个网卡上的发生的任何网络连接。
4.在Ethereal中设置过滤规则ether host 00:40:43:8c:5d:18,这里的00:40:43:8c:5d:18就是从ethermac.dat文件中得到的,这个过滤规则表示只跟踪发生在MAC地址为00:40:43:8c:5d:18上的网卡的网络连接,这就是混杂模式的好处了,如果是非混杂模式,则这个虚拟网卡和宿主网卡的mac地址是一样的,就很难跟踪得到我们想要的结果。如图:
然后到模拟器里访问一下http://www.sina.com.cn,开始嗅探,下面是嗅探时的截图:
看来有戏,有数据传输,但是还不能确认,嗅探的时间也差不多了,结束嗅探,返回到Ethereal的主界面,看看最终结果:
看来是没有问题的,这个虚拟的网卡已经通过无线路由器的lan口获得了一个192.168.18.38的ip,并且能正确的解析www.sina.com.cn的ip地址,至少证明我们的Ethernet Support for Series 60 SDK设置应该是没什么问题的。只是我们在模拟器的界面里面没看到返回的界面,哪位大哥能帮忙解释一下?