UDP套接字不在同一主机上接收多播消息

时间:2014-08-01 18:21:44

标签: windows sockets udp multicast

我有两个程序。

程序1.该程序为每个网络接口创建一个套接字,设置此套接字的默认多播接口ID并将其绑定到" interface_addr:some_port"。程序侦听其套接字并处理接收的数据。

程序1已经过测试,它从网络设备接收多播。

程序2.该程序为每个网络接口创建一个套接字,并发送多播请求和处理回复。

计划2已经过测试 - 它收到来自网络设备的多播请求的回复。

问题是当两个程序在一个主机程序上运行时1没有看到来自程序2的请求,但Wireshark显示来自程序2的数据包。

操作系统:Windows 7。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您不需要多个套接字。将单个套接字绑定到INADDR_ANY,然后依次通过每个接口加入组

答案 1 :(得分:1)

问题解决了。只需要在客户端和服务器上打开选项MULTICAST_LOOP