Android mobile/wifi 数据连接并发问题
现在有个需求,需要mobile和wifi同时数据连接,做并发业务。
参考了以下博客:
http://blog.csdn.net/yshe_xun/article/details/9170935
我通过以下方式做的:
1、在Android设置中关闭Wifi
2、启动移动网络数据业务
3、通过命令手动启动wifi服务(具体步骤,参考上面的链接)
4、能同时获取到Wifi和mobile的IP地址
在这种情况下,通过mobile连接,是可以直接上网的,通过wifi连接是不能上网的,
通过浏览器,打开网页就可以验证的,抓取tcpdump日志,用wireshark分析就行了。
不能通过wifi上网,我分析后,发现时DNS问题,因为在Android本身设计中有两个属性net.dns1,net.dns2作为
全局的系统属性,每次mobile拨号建立数据连接时,会更新路由信息,mobile会被默认为默认连接,同时会更新
dns1和dns2的值,所以这时,修改dns1的地址为wifi的dns1地址,那么wifi就能上网了(需要关闭移动网络数据连接),
那么怎么验证wifi和mobile数据业务并发呢?
我写了个apk,通过2个http连接,访问2个不同的网站,获取信息验证。
那么问题来了:
1、http 好像不能通过接口绑定IP地址,所以http连接数据路由从哪个网口出去?
2、通过linux策略路由配置,强制把http的目的地址通过指定网口路由出去,我测试验证了,好像还有问题?
另外,在wifi/mobile并发数据连接时,同时ping,是能ping通的。
谁能够给点思路讨论,分析下。