c - 如果 IP 地址用于加入 mcast 组INADDR_ANY内核如何选择 IP 地址



我很好奇内核在使用INADDR_ANY时如何选择接口加入 mcast 组:

struct ip_mreq req;
req.imr_multiaddr.s_addr = inet_addr(someMcastIP);
req.imr_interface.s_addr = htonl(INADDR_ANY);
if ((setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void*) &req, sizeof(req))) < 0) {
 ...
}

假设计算机上的接口很少。 内核如何选择?

它使用静态 IP 路由表来确定成员身份请求的发送位置。

最新更新