我有两个程序。
程序1.该程序为每个网络接口创建一个套接字,设置此套接字的默认多播接口ID并将其绑定到" interface_addr:some_port"。程序侦听其套接字并处理接收的数据。
程序1已经过测试,它从网络设备接收多播。
程序2.该程序为每个网络接口创建一个套接字,并发送多播请求和处理回复。
计划2已经过测试 - 它收到来自网络设备的多播请求的回复。
问题是当两个程序在一个主机程序上运行时1没有看到来自程序2的请求,但Wireshark显示来自程序2的数据包。
操作系统:Windows 7。
我做错了什么?
答案 0 :(得分:1)
您不需要多个套接字。将单个套接字绑定到INADDR_ANY,然后依次通过每个接口加入组。
答案 1 :(得分:1)
问题解决了。只需要在客户端和服务器上打开选项MULTICAST_LOOP