现代 Android 手机上的应用程序是否有可能指定应该在哪个承载上建立 TCP 连接?
即我想使用 Wifi 打开与服务器的连接和使用 GPRS 与(可能不同的)服务器的连接。
我猜我需要枚举手机上的接口(interface)并指定连接的源地址,以及目标端口和地址。
有没有办法在 Android 中使用“SO_BINDTODEVICE”?
最佳答案
我对 SO_BINDTODEVICE
一无所知,但从 Lollipop 开始,有专门的 Android API 可以满足您的需求。
您可以使用 ConnectivityManager枚举可用网络,然后 obtain a SocketFactory其套接字将仅通过选定的网络进行通信。
关于android - 在 Android 6/7 中为 TCP 连接指定承载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40723538/