WEB开发网
开发学院手机开发Windows Mobile 开发 使用OpenNetCF完成windows mobile上的wifi通信 阅读

使用OpenNetCF完成windows mobile上的wifi通信

 2010-08-23 05:25:00 来源:WEB开发网   
核心提示:point后如果没有进行连接,是不会存放到PreferredAccessPoints字段里面,使用OpenNetCF完成windows mobile上的wifi通信(4),所以我们可以直接使用 PreferredAccessPoints里面的access point的名字作为参数传入前面说的ConnectToPrefe
point后如果没有进行连接,是不会存放到PreferredAccessPoints字段里面,所以我们可以直接使用 PreferredAccessPoints里面的access point的名字作为参数传入前面说的ConnectToPreferredNetwork(因为满足了already-configured的要求),而如果仅仅将找到的热点(不在PreferredAccessPoints或者说没经过连接的,直接传入 ConnectToPreferredNetwork,那就会报错),所以从这里我们可以看出,要连接上某个无线网络,实际上要经过一层 configure的。而我们要把找到的热点链接上那怎么办的,那就要依靠WirelessZeroConfigNetworkInterface对象的 AddPreferredNetwork函数了,把找到的未配置或者已经配置的access point通过AddPreferredNetwork加入到PreferredNetwork里面,然后再调用 ConnectToPreferredNetwork,就可以完成连接了。

view sourceprint?01while (count == 0)

02

03{

04

05collection = m_wzc.NearbyAccessPoints;

06

07count = collection.Count;

08

09}

10

11MessageBox.Show(count.ToString());

12

13foreach (AccessPoint ap in collection)

14

15{

16

17if (ap.AuthenticationMode == AuthenticationMode.Open)

18

19{

20

21MessageBox.Show( m_wzc.AddPreferredNetwork(ap).ToString());

22

23}

24

25}

可以看到,上面的代码,我用了一个while来才NearbyAccessPoints的查找,这是因为OpenNetCF里这个字段有个bug,不一定每次m_wzc.NearbyAccessPoints都能返回access point的集合,而且如果你仅仅靠判断NearbyAccessPoints是否为空也是不行的,

while (collection == null)

{

collection = m_wzc.NearbyAccessPoints;

}

它会返回一个不会null的集合对象,但是里面其实是空的。结果你拿不到半个access point

4 最后,这个命名空间,这些类还有好多功能可以实现,比如获得access point的信号状态啊,有无使用加密啊什么的,这些有兴趣或者需要的话就自己研究了,下面附上一个简单的程序。testWifi.rar

上一页  1 2 3 4 

Tags:使用 OpenNetCF 完成

编辑录入:coldstar [复制链接] [打 印]
赞助商链接