3

重複の可能性:
同じポートで複数のマルチキャスト フィードを受信する - C、Linux

同じポートで複数のマルチキャスト ソースからデータを受信するアプリケーションがあります。データを受信できました。ただし、各グループの統計 (つまり、受信したメッセージ数、受信したバイト数) を考慮しようとしており、すべてのデータが混同されています。この問題を解決する方法を知っている人はいますか?送信者のアドレスを確認しようとすると、マルチキャスト アドレスではなく、送信側マシンの IP です。

次のソケット オプションを使用しています。

struct ip_mreq mreq;         
mreq.imr_multiaddr.s_addr = inet_addr("224.1.2.3");         
mreq.imr_interface.s_addr = INADDR_ANY;         
setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));

また:

setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &reuse, sizeof(reuse));

助けていただければ幸いです!!!

4

0 に答える 0