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