As I wrote : local networks are :
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
So something like this :
for(int i = 0; i < addresses.size(); i++)
{
if(addresses.
at(i
).
isInSubnet(QHostAddress::parseSubnet("10.0.0.0/8")) || addresses.
at(i
).
isInSubnet(QHostAddress::parseSubnet("172.16.0.0/12")) || addresses.
at(i
).
isInSubnet(QHostAddress::parseSubnet("192.168.0.0/16"))) {
my_local_address = addresses.at(i);//this is my local IP
break;
}
}
QHostAddress my_local_address;
QList<QHostAddress> addresses = QNetworkInterface::allAddresses();
for(int i = 0; i < addresses.size(); i++)
{
if(addresses.at(i).isInSubnet(QHostAddress::parseSubnet("10.0.0.0/8"))
|| addresses.at(i).isInSubnet(QHostAddress::parseSubnet("172.16.0.0/12"))
|| addresses.at(i).isInSubnet(QHostAddress::parseSubnet("192.168.0.0/16")))
{
my_local_address = addresses.at(i);//this is my local IP
break;
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks