例如,我的机器是多宿主的,有两个网络接口:
我创建了两个UDP套接字,一个监听(1),另一个监听(2)。假设接口已经被分配,那么为什么我需要IP_MULTICAST_IF和IPV6_MULTICAST_IF呢?
发布于 2014-11-18 06:44:58
IP_MULTICAST_IF或IPV6_MULTICAST_IF设置告诉套接字要发送多播数据包的接口。它是一个独立的、独立的设置,与您使用bind()绑定到的接口无关,因为bind()控制套接字接收多播数据包的接口。
(诚然,BSD套接字API实现者可以假设套接字总是希望通过它接收数据包的同一个接口发送数据包,但这会使许多用例变得更加困难;例如,如果您使用单个套接字从所有接口(通过INADDR_ANY)接收多播数据包,那么使用该套接字发送数据包时仍然需要一种方式来指定要发送该数据包的多播接口)
https://stackoverflow.com/questions/26987906
复制相似问题