4

从其他帖子中阅读

了解用于套接字编程的 INADDR_ANY - c

当您不需要将套接字绑定到特定 IP 时使用 INADDR_ANY。当你在调用 bind() 时使用这个值作为地址时,socket 接受到本机所有 IP 的连接

http://trac.pjsip.org/repos/wiki/IPAddressChange

默认情况下,我们将传输绑定到 INADDRANY/0.0.0.0,因此在发送传出 (UDP) 数据包时,我们依赖操作系统根据当前在线的接口和操作系统的内部路由表为我们选择正确的接口。换句话说,我们只需调用 sendto() 并让操作系统“做正确的事”。在 IP 地址更改的情况下,我们还依靠操作系统将接口从一个接口切换到新的接口,以进行 UDP 传输

假设以前我在绑定我的套接字时有 2 个接口 A、B IADDR_ANY。之后我有接口 C 可用(移动设备上就是这种情况,当用户打开 3G、Wifi 时)

  1. 这个套接字会接受来自 C 的连接吗

  2. 如果我关闭A,B,这个套接字会使用C发送数据包吗?

P/S:更感谢针对 iOS 和 Android(SDK 和 NDK 套接字)的答案

4

0 回答 0