我可以创建一个QHostAddress
对象,如下所示:
QHostAddress addr_ip4("127.0.0.1");
QHostAddress addr_ip6("::1/128");
并像这样测试其属性:
qDebug() << "addr_ip4.isNull() = " << addr_ip4.isNull();
qDebug() << "addr_ip4.isLoopback() = " << addr_ip4.isLoopback();
qDebug() << "addr_ip4.isMulticast() = " << addr_ip4.isMulticast();
qDebug() << "addr_ip6.isNull() = " << addr_ip6.isNull();
qDebug() << "addr_ip6.isLoopback() = " << addr_ip6.isLoopback();
qDebug() << "addr_ip6.isMulticast() = " << addr_ip6.isMulticast();
但是...我如何分辨哪些地址实际上是 IPv4 ,哪些地址是 IPv6 ?
最佳答案
调用QHostAddress::protocol()将返回一个QAbstractSocket::NetworkLayerProtocol enum,它指定地址是IPv4,IPv6还是两者。
关于c++ - 如何分辨Qt5中QHostAddress是IPv4还是IPv6?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46853422/