最近遇到一个比较奇葩的需求:App与硬件通过WiFi LAN通信, 同时App需要与服务器通过3G/4G WAN通信,如下图:
众所周知,手机同时打开WiFi和3G时候,会优先走WiFi。这个该如何实现呢?市面上有一个极路客APP已经实现此方案,网上各种搜索资料,出现一个Multipath TCP概念,但是这个系统没有API,瞬间抓狂,直接查看极路客APP与他们硬件连接的WIFI,发现与我们平时WiFi不一样,DNS没有。
经过各种测试,最后发现不填路由IP和DNS,填写IP和子网掩码就可以实现WiFi LAN通信,同时3G/4G WAN通信,所以只需要硬件那边做下配置就OK,最后发现苹果官网资料也显示不需要路由IP,有可能这就是所谓的multipath tcp技术,集成在系统内核里,系统自动根据这判断选择哪个网络通道。