【发布时间】:2012-03-05 05:33:08
【问题描述】:
是否可以同时启动并运行 3G 和 Wifi 连接?我想通过两个接口同时传输。
但是,我注意到当 Wifi 开启时,3G 正在下降。实际上,路由表似乎是在接口的 on/off 时更新的。
-
路由表 UMTS 开启/Wifi 开启
a.b.c.1 开发 rmnet0 a.b.c.0/24 dev rmnet0 src a.b.c.2 默认通过 a.b.c.1 dev rmnet0
-
路由表 Wifi 开启/UMTS 开启
192.168.1.0/24 开发 eth0 src 192.168.1.147 默认通过 192.168.1.1 dev eth0
-
打开 wifi 我已经跑了:
ip link set rmnet0 up
ip 路由
192.168.1.0/24 开发 eth0 src 192.168.1.147 a.b.c.0/24 dev rmnet0 src a.b.c.2 默认通过 192.168.1.1 dev eth0
当我看到这一点时,我认为我已经设法让两个设备都启动并运行了。然而,这种情况并非如此。当我 ping 公共互联网地址 (a.b.c.3) 时,在 1) 和 2) 的情况下,一切顺利。情况 3) 我没有得到任何答复。
Android 到底在哪里设置了一次只能使用一台设备?如何让两个接口都启动并可用,就像在普通的 Linux 机器上一样?
P.S.:我尝试了[1]中的解决方案,在wifi打开时启用数据连接,没有办法。
[1]How to enable data connection on Android 2.3
[2] How to block calls in android --> 使用 ITelephony 获取 telephonyService.enableDataConnectivity();但我得到了一个例外。
【问题讨论】:
-
这可能不是你想听到的,但我认为这会很复杂。我见过的每个实现都使用 活动连接来发送数据( 仅在一个中,具体取决于具有更高优先级的连接)。您想同时通过两者进行传输是否有一个非常重要的原因?你能不能选择先通过一个,然后另一个?
-
我是一名研究人员,对于我正在开发的通信系统,我需要同时激活两个接口。我一直在阅读似乎谷歌已经删除了使用 ITelephony 界面1 的选项,这似乎是一种方式。但是我想知道是否可以通过在本机 C 中开发并在控制台上运行它来做到这一点。任何帮助都非常受欢迎。
-
另一点。当前的 android 版本支持网络共享。最后,在这种情况下,两个接口都已启动并正在运行。然后,这可能是自定义 android 以使两个 iface 都连接到互联网的起点。
-
您尝试过 ConnectivityManager.requestRouteToHost 吗?我一直想知道这是否能解决这类问题,但到目前为止我还不需要尝试......
-
阅读“连接调度”。这是一个与此类似的PC软件。对于 Android,我猜你必须在手机上创建一个虚拟路由器,它位于 Wi-Fi 和移动数据接口之上。最好是核心android而不是APP
标签: android network-programming