之前做过一个项目,遇到这样的问题:在3G和wifi网络同时存在的情况下,要优先选择wifi网络,毕竟是3G要钱的。
苹果官方提供一个方式确定3G,wifi和无网络的方式。今天不提那种方式。而需求需要把WIFI网络的ip地址和3G的ip地址查找出来并对应处理好。
首先要获取iphone手机的ip地址(这个见我另一个博客 rul地址:http://blog.csdn.net/nogodoss/article/details/16864063)。
通过我的另一个博客获取到iphone的ip地址
主要代码是: GetIPAddresses();
在那个方式中主要有两个重要的变量(
if_names(网络的名称)ip_names(网络的ip地址))
通过打印处理如下(在iphone4下情况):
i:0 name:lo0 ip:127.0.0.1
i:1 name:en0 ip:192.168.0.1
i:2 name:pdp_ip0 ip:172.32.16.4
经验告诉我
通过GetIPAddresses函数方式查找到ip_names数组的第一个数据是本地ip地址,即是127.0.0.1, ip地址的名称(if_names数组第一个数据)为lo+次序(第一个就是0,而后依次为1,2,3)
第二个数据在iphone4上是wifi ip地址,它对应的名称为en+次序(第一个就是0,而后依次为1,2,3)
第三个数据为3G ip地址。对应的名称为pdp_ip+次序(第一个就是0,而后依次为1,2,3)