如何判断QtostAddress在Qt5中是IPv4还是IPv6?

Len*_*and 1 c++ qt ipv4 ipv6 qt5

我可以创建这样的QHostAddress对象:

QHostAddress addr_ip4("127.0.0.1");
QHostAddress addr_ip6("::1/128");
Run Code Online (Sandbox Code Playgroud)

并测试他们的属性,如下所示:

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();
Run Code Online (Sandbox Code Playgroud)

但是......我怎么知道哪些地址实际上是IPv4,哪些是IPv6

MrE*_*Sir 5

调用QHostAddress :: protocol()将返回一个QAbstractSocket :: NetworkLayerProtocol枚举,指定地址是IPv4,IPv6,还是其他地址.