QT를 사용하여 mac 주소를 얻으려고 노력 중입니다. 지금이 코드를 사용하고 있습니다 :QT 인터페이스가 진짜인지 확인하십시오.
QStringList Util::getMac(){
QStringList items;
foreach(QNetworkInterface interface, QNetworkInterface::allInterfaces())
{
if (interface.flags().testFlag(QNetworkInterface::IsRunning))
foreach (QNetworkAddressEntry entry, interface.addressEntries())
{
if (interface.hardwareAddress() != "00:00:00:00:00:00" && entry.ip().toString().contains(".")){
items << interface.hardwareAddress();
}
}
}
return items;}
그러나 문제는 나에게 hamachi 인터페이스의 mac 주소도 제공한다는 것입니다. 해당 인터페이스가 인터넷에 액세스 할 수 있는지 확인하는 방법이 있습니까? 나는 그것이 사실이면서 가상이 아니라는 것을 알 것이다.
에 연결할 수있는 주소 인 경우 다음 볼 수 있었다. 또한 VPN을 통해 실행중인 경우 해당 VPN 인터페이스는 사용할 인터페이스입니다. 아마도 기본 게이트웨이와 인터넷에 연결된 네트워크가 어떤 인터페이스인지 판단하기 위해 반복되는 인터페이스의 IP 주소와 서브넷 마스크의 조합을 비교하는 것이 유용 할 것입니다. –
그게 좋은 생각이야, 고마워. 유일한 문제는 기본 게이트웨이 IP를받는 것입니다. 플랫폼에 따라 다르며 필요한 모든 플랫폼에 대한 솔루션을 찾지 못했습니다. – black
UUID가 필요합니다. 실제 인터페이스가 인터넷에 연결할 수 없는지 여부는 중요하지 않습니다. – black