C,Linux:从同一端口上的多个多播地址接收数据 - 如何区分它们?

时间:2010-04-30 02:18:37

标签: c linux multicast

  

可能重复:
  Receving multiple multicast feeds on the same port - 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));

我感谢任何帮助!!!

0 个答案:

没有答案