あいまいな問題があります。2 人のユーザー間にマルチキャスト グループがあり、そのうちの 1 人は送信者であり、もう 1 人は受信者です。それぞれの側でこれらのシナリオを実行しました。
レシーバー:
- udp ソケットを作成します。
- マルチキャスト グループ アドレスにバインドする
- 送信側に接続します ( connect(sender ip))
- マルチキャスト グループに参加する
- マルチキャスト グループからの受信。
送信者:
- udp ソケットを作成します。
- マルチキャスト グループに送信します。
上記のシナリオでは、送信側がデータを送信したときに受信側が受信できませんでしたが、受信側を tcpdump で確認すると、マルチキャスト グループからデータが受信されていました。ただし、受信側に送信側への接続がない場合、データは受信されます。
しかし、実際には、マルチキャストグループに送信する前に送信者をマルチキャストアドレスにバインドし、上記のシナリオとして受信者を送信者側に接続させると、データは正常に受信されます!!!! 送信者側でバインドを追加したときの説明はありますか???