我知道我可以使用QNetworkInterface::allAddresses()
,但这也会给我带来许多我根本不需要的IP,例如虚拟网络。
我无法connectToHost()
并查看套接字localAddress()
,我的程序将用于与互联网分离的网络中,因此我无法连接到Google DNS /任何可靠的内容
有没有办法从列表allAddresses()
中过滤地址,还是我可以使用其他Qt功能?
答案 0 :(得分:0)
这应该做的工作:
auto allNetworkAddresses = QNetworkInterface::allAddresses();
for (const auto& address : allNetworkAddresses)
{
if (address.protocol() == QAbstractSocket::IPv4Protocol &&
address != QHostAddress(QHostAddress::LocalHost))
{
//use adress in any way needed
}
}