1

好的,所以我的问题可能是题外话,但我真的没有找到任何有用的内容可以在我的应用程序中同时使用这两个网络接口是简单的图像上传到服务器使用两个开放网络以获得更好的速度。这里我们可以通过编程使用这两个网络在java中?我找到了这个代码片段,但它只返回连接状态。

 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
            Network etherNetwork = null;
            for (Network network : connectivityManager.getAllNetworks()) {
                NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network);
                if (networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {
                    etherNetwork = network;
                }
            }
            Network boundNetwork = connectivityManager.getBoundNetworkForProcess();
            if (boundNetwork != null) {
                NetworkInfo boundNetworkInfo = connectivityManager.getNetworkInfo(boundNetwork);
                if (boundNetworkInfo.getType() != ConnectivityManager.TYPE_ETHERNET) {
                    if (etherNetwork != null) {
                        connectivityManager.bindProcessToNetwork(etherNetwork);
                    }
                }
            }
4

2 回答 2

0

据我所知,这是不可能的。

尽管如此:

  • MPTCP存在,您可能会找到支持它的 rom,但它不是开箱即用的。
  • Speedify声称能够做到这一点,但由于它不需要 root,我认为这只是对 VPN 连接的巧妙使用和连接类型之间的一种负载平衡技巧。

基本上,为了真正激活两种连接类型,您需要修改内核,以便可以同时使用两种网络接口。

于 2018-04-18T09:26:41.937 回答
0

如果有帮助,您可以按照我在此应用中使用的方法

https://github.com/yschimke/OkHttpAndroidApp/

在连接之前,您可以自己将每个套接字绑定到特定的网络接口。每个单独的套接字都需要在一个网络上,但您可以同时使用这两个。

https://github.com/yschimke/OkHttpAndroidApp/blob/master/android/app/src/main/java/com/okhttpandroidapp/factory/AndroidNetworkManager.kt#L123

于 2019-06-09T06:19:08.977 回答