Windows 10电脑上的组播无法工作。如何在本地局域网启用组播?

3

我可以在224.0.0.1进行组播,我的所有其他本地局域网PC都可以接收这个流。但是当我在其他多播IP地址(例如:224.0.0.130)上进行组播时,没有本地局域网PC能够接收它。尽管我可以在源PC上通过Wireshark获得它。


1
欢迎来到 Stack Overflow!请阅读 帮助页面,参观 SO 之旅,了解如何提出好问题的指南,以及这个问题清单。同时,请学习如何创建一个最小可复现示例。你是否在 Wireshark 中启用了混杂模式? - Ross Jacobs
1个回答

7
有几个原因不适用于Windows 10的组播工作。我通过以下两个步骤解决了这个问题:
  1. 接口度量:从网络设置中,进入高级选项并取消勾选自动度量,并设置接口度量值。数字越小,优先级越高。

IP Settings

  1. 更改C#代码: 默认情况下,多播会向环回接口发送数据。因此需要指定要使用哪个接口,即要使用哪个IP地址发送多播流(也就是要在哪个网络上发送多播)。

以下是一个C#示例代码:

                  m_Socket.SetSocketOption(
                 SocketOptionLevel.IP,
                 SocketOptionName.MulticastInterface,
                 IPAddress.Parse("192.168.0.104").GetAddressBytes()
                );

M_Socket 是用于发送流的套接字,“192.168.0.104” 是我想要发送流到的网络接口的 IP 地址。

按照上述方法,现在我可以成功地发送组播。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接