如何配置 Windows/winsock 以回复 IGMP v3 查询?

问题描述

使用 Winsock2 收集 Windows 10 主机的 ipv4 多播数据。来自Wireshark的igmp加入/离开工作良好,启动/停止交换机传输(带有监听+集成查询器的交换机)。交换机的查询器按预期定期发送 igmp v3 一般查询,但 Windows 没有生成报告。所以超时(260s)后,交换机停止发送。 代码类似于 www.winsocketdotnetworkprogramming.com 中的示例,通过 IP_ADD_SOURCE_MEMBERSHIP 套接字选项加入 igmp。用另一台主机和 Windows 7 试过:同样的问题。

output of wireshark,host is 192.168.100.34

所以问题:

  • 是否必须使用某些选项声明以太网接口才能启用 Windows 自动查询处理?
  • 也许查询被过滤了? (但防火墙已禁用...)
  • 遗漏了什么?

解决方法

找不到让 Windows 回复的方法。 要继续,使用了一种变通方法,即通过 RAW 数据包发送定期 IGMP 成员资格报告,重置交换机 IGMP 计时器。