我创建了一个 UDP 套接字并将该套接字绑定到inaddr_any (0.0.0.0)
和一些众所周知的端口号。据我了解,此套接字可以通过指定端口号通过机器的所有接口接收数据。但是当我调用send()
它时,它将使用默认 IP 地址作为源地址。
- 如何选择默认 IP 地址?
- 如果我想使用其他接口(默认接口除外)发送数据,该怎么做?
问题的背景:
我正在实现 LDP 协议。它可以有许多 hello 邻接。因此,我正在创建一个服务器来从路由器的其他接口接收数据。一旦形成了 hello 邻接关系,那么 hello 消息将通过 UDP 在创建 hello 邻接关系的特定接口上发送。