WiFi 経由で UDP マルチキャスト経由で MIDI データを受信するように Linux でアプリケーションをセットアップしようとしています。
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))
)に送信すると、データは受信されます。
私はかなり多くのことを読んで実験してきましたが、何が欠けているのかわかりません。使用しているコードのエラーなのか、ボックスの構成のエラーなのかさえわかりません。
誰かがこれに光を当てることができますか?