我正在收听来自外部来源的多播数据。
当我的应用程序没有运行时 Onload
,一切都很好。但是,当我在下面运行时,Onload
我会收到每个数据包两次。
这就是我加入多播组的方式:
struct ip_mreq mreq;
bzero(&mreq,sizeof(mreq));
mreq.imr_multiaddr.s_addr = inet_addr("233.1.2.3");
mreq.imr_interface.s_addr = inet_addr("192.1.2.3");
if (setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&mreq, sizeof(mreq)) < 0)
...
我怎样才能在Onload
不接收每个数据包两次的情况下运行?