3

我正在尝试在 Linux 上设置一个应用程序以通过 WiFi 通过 UDP 多播接收 MIDI 数据。

Wireshark 显示从 MIDI 控制器发送的数据包已被我的机器接收(从 Wireshark粘贴)。

我用来侦听网络流量并产生 ALSA midi 事件(称为multimidicast)的实用程序的源代码设置了像这样的侦听套接字。基本上它设置了 20 个套接字,将它们绑定到端口 21928-21948,setsockopt()使用 IP_ADD_MEMBERSHIP 调用“225.0.0.37”的组,然后开始监听。据我所知,这与所有关于如何侦听 UDP 多播流量的教程和建议一致。

但是,该实用程序不接收数据。

如果我从我的 PC 将数据包发送到“225.0.0.37”(s.sendto("hello", ("225.0.0.37", 21928))在 Python 中)上的相关端口,该工具仍然没有接收到数据。如果我发送到 localhost ( s.sendto("hello", ("", 21928))) 上的端口,它收到数据。

我一直在阅读和尝试很多,但我无法弄清楚我错过了什么。我什至不确定这是否是我正在使用的代码或我的盒子配置中的错误。

任何人都可以对此有所了解吗?

4

0 回答 0