#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("1
判断ip是否为multicast
最新推荐文章于 2024-12-22 17:43:19 发布