将socket加入239.255.193.250多播组,就可以接收目的IP地址为239.255.193.250的数据,发送数据则是发送至239.255.193.250地址。
int s = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
if(s < 0)return;
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_port = htons(APort);
if(bind(s, (sockaddr *)&addr, sizeof(addr)) < 0)
{
closesocket(s);
return;
}
ip_mreq mr;
mr.imr_interface.s_addr = INADDR_ANY;
mr.imr_multiaddr.s_addr = inet_addr("239.255.193.250"); // 加入多播組
setsockopt(FSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char *)&mr, sizeof(ip_mreq));
————————————————
版权声明:本文为CSDN博主「程序员小峰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aasmfox/article/details/118916522