Windows 上的 UDP 多播故障排除

Aar*_*pel 4 multicast udp

我是程序员,不是系统管理员,所以请原谅我的管理天真。我的软件是用 C# 编写的,它依赖于 UDP 多播。一台机器,即服务器,将事件流式传输到一个已知的 UDP 组地址(可配置,但默认为 224.130.103.5),网络上的所有客户端都订阅了该地址。

通常这很好用,但在我的一些客户中它根本不起作用,而且他们的网络管理员通常无法解决问题。我的问题是,在 Windows 网络上,UDP 多播不起作用的常见原因是什么?有什么我可以告诉网络管理员如何修复它或至少在哪里查看的吗?

小智 6

如果您VirtualBox Host-Only Ethernet Adapter的系统上有一个可能是问题的激活,那是我的问题,所以尝试禁用它。请参阅https://www.virtualbox.org/ticket/8698


Sha*_*den 0

我想说,您需要注意的最常见原因是路由网络,其中需要参与多播组的整套系统(客户端和服务器)不在同一个广播上领域。

这是询问客户网络管理员的第一件事。至于如何解决,则取决于他们的网络设备;他们需要在其路由设备上设置PIM和 IGMP 监听。

他们的支持设备可能会被击中或错过;这对于您的某些客户来说可能是一个主要障碍。您可能需要寻找不需要网络设备与多播良好配合的替代解决方案。几个想法:

  • 在每个子网上都有一种“代理”,客户端通过单播从服务器获取消息并将它们重复到多播组
  • 将所有事件流量切换到单播。也许其中之一:RabbitMQ ActiveMQ