在 Android 中为 TCP 连接指定承载 6/7
Specify bearer for TCP connection in Android 6/7
现代 Android phone 上的应用是否可以指定应该在哪个承载上建立 TCP 连接?
即我想使用 Wifi 打开到服务器的连接 和 使用 GPRS 到(可能不同的)服务器的连接。
我猜我需要枚举 phone 上的接口并指定连接的源地址,以及目标端口和地址。
有没有办法在Android中使用"SO_BINDTODEVICE"?
TCP 不担心通信媒介。它与 IP 和以太网层的内部机制无关。所以,我认为,TCP 不会帮助您区分 GPRS 和 Wifi。
您可以绑定到系统中可用的特定IP地址。 IP 可以是任何特定媒体中的 src。
我对 SO_BINDTODEVICE
一无所知,但从 Lollipop 开始,有专门的 Android API 可以满足您的需求。
您可以使用 ConnectivityManager to enumerate the available networks, and then obtain a SocketFactory 其套接字将仅通过所选网络进行通信。
现代 Android phone 上的应用是否可以指定应该在哪个承载上建立 TCP 连接?
即我想使用 Wifi 打开到服务器的连接 和 使用 GPRS 到(可能不同的)服务器的连接。
我猜我需要枚举 phone 上的接口并指定连接的源地址,以及目标端口和地址。
有没有办法在Android中使用"SO_BINDTODEVICE"?
TCP 不担心通信媒介。它与 IP 和以太网层的内部机制无关。所以,我认为,TCP 不会帮助您区分 GPRS 和 Wifi。
您可以绑定到系统中可用的特定IP地址。 IP 可以是任何特定媒体中的 src。
我对 SO_BINDTODEVICE
一无所知,但从 Lollipop 开始,有专门的 Android API 可以满足您的需求。
您可以使用 ConnectivityManager to enumerate the available networks, and then obtain a SocketFactory 其套接字将仅通过所选网络进行通信。