【问题标题】:UDP sockets not receive multicast messages on the same hostUDP 套接字不在同一主机上接收多播消息
【发布时间】:2014-08-01 18:21:43
【问题描述】:

我有两个程序。

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

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

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

程序 2 已经过测试 - 它接收来自网络设备的多播请求的回复。

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

操作系统:Windows 7。

我做错了什么?

【问题讨论】:

  • 您是否也bind 到了环回接口?

标签: windows sockets udp multicast


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2017-09-04
      • 2012-06-05
      • 2013-02-08
      • 1970-01-01
      相关资源
      最近更新 更多