判断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的主要内容,如果未能解决你的问题,请参考以下文章

判断ip是否为multicast

php multicast多播实现详解

IP multicast IP多播

如何判断自己外网IP是否为真实公网IP,以及解决方案

判断ip是否大陆的

判断来防ip是否为蜘蛛