判断ip是否为multicast
Posted heihei36
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断ip是否为multicast相关的知识,希望对你有一定的参考价值。
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <iostream>
bool is_multicast(const std::string& addr)
uint32_t iaddr = inet_addr(addr.c_str());
uint32_t net_addr = htonl(iaddr);
// ["224.0.0.0", "239.255.255.255"]
return net_addr >= 0xE0000000 && net_addr <= 0xEFFFFFFF;
int main(int argc, char** argv)
std::cout << is_multicast("239.0.0.1") << std::endl;
std::cout << is_multicast("224.0.0.0") << std::endl;
std::cout << is_multicast("224.0.0.1") << std::endl;
std::cout << is_multicast("239.255.255.255") << std::endl;
std::cout << is_multicast("192.168.1.1") << std::endl;
std::cout << is_multicast("239.255.0.1") << std::endl;
std::cout << is_multicast("127.0.0.1") << std::endl;
std::cout << is_multicast("239.255.255.255") << std::endl;
std::cout << is_multicast("239.255.255.254") << std::endl;
return 0;
以上是关于判断ip是否为multicast的主要内容,如果未能解决你的问题,请参考以下文章