jla*_*nza 6 android network-programming
是否可以同时启动和运行3G和Wifi连接.我想通过两个接口同时传输.
但是我注意到当Wifi上升时,3G正在下降.实际上,似乎路由表在接口的开/关上更新.
1)路由表UMTS开/ Wifi开
a.b.c.1 dev rmnet0
a.b.c.0/24 dev rmnet0 src a.b.c.2
default via a.b.c.1 dev rmnet0
Run Code Online (Sandbox Code Playgroud)
2)路由表Wifi on/UMTS on
192.168.1.0/24 dev eth0 src 192.168.1.147
default via 192.168.1.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
3)有wifi,我跑了:
# ip link set rmnet0 up
# ip route
192.168.1.0/24 dev eth0 src 192.168.1.147
a.b.c.0/24 dev rmnet0 src a.b.c.2
default via 192.168.1.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
当我看到我认为我已经设法将两个设备都启动并运行.然而,这种情况并非如此.当我ping公共互联网地址(abc3)时,如果情况1)和2)一切顺利.在案例3)我得不到答案.
Android在哪些方面设置一次只能有一个设备可用?如何使两个接口都可用,就像在普通的Linux机器上一样.
PS:我已经尝试了[1]中的解决方案,当wifi打开时启用数据连接,没办法.
[2] 如何在android中阻止调用 - >使用ITelephony获取telephonyService.enableDataConnectivity(); 但我得到一个例外.
这是不可能的……除非你愿意竭尽全力让它发挥作用。您本质上是要求您的设备成为路由器。
为此,您需要找到一个可以在普通 Linux 发行版上完成此操作的程序(抱歉,目前不记得任何名称)。然后重新编译它以适合 Android 操作系统并安装到本机系统中。
这个解释可能对你来说更有意义。如果您进入 ADB shell 并运行 netcfg(或 ifconfig 来详细说明),您将看到设备网络选项。您可以运行 ifconfig 命令来设置设备或更改其状态 - 但我不认为您不能让多个设备同时将数据路由到手机或从手机路由数据。
这将是我最好的猜测......