QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址


获取主机名称

/* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_localmachine_name() { QString machineName = QHostInfo::localHostName(); return machineName; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

获取本机IP地址

/*
 * 名称:get_localmachine_ip
 * 功能:获取本机的IP地址
 * 参数:no * 返回:QString */ QString CafesClient::get_localmachine_ip() { QString ipAddress; QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses(); // use the first non-localhost IPv4 address for (int i = 0; i < ipAddressesList.size(); ++i) { if (ipAddressesList.at(i) != QHostAddress::LocalHost && ipAddressesList.at(i).toIPv4Address()) { ipAddress = ipAddressesList.at(i).toString(); break; } } // if we did not find one, use IPv4 localhost if (ipAddress.isEmpty()) ipAddress = QHostAddress(QHostAddress::LocalHost).toString(); return ipAddress; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

获取本机网络连接名、MAC地址

/* * 名称:get_localmachine_mac * 功能:获取本机的MAC地址 * 参数:no * 返回:void */ QString CafesClient::get_localmachine_mac() { QList<QNetworkInterface> nets = QNetworkInterface::allInterfaces(); int i = 0; foreach(QNetworkInterface ni,nets) { i++; qDebug()<<i<<ni.name()<<ni.hardwareAddress()<<ni.humanReadableName(); } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

获取本机子网掩码、广播地址

//在上个函数的环境下 QList<QNetworkAddressEntry> entryList =interface.addressEntries(); //获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址 foreach(QNetworkAddressEntry entry,entryList) { //遍历每一个IP地址条目 qDebug()<<”IP Address: “<<entry.ip().toString(); //IP地址 qDebug()<<”Netmask: “<<entry.netmask().toString(); //子网掩码 qDebug()<<”Broadcast: “<<entry.broadcast().toString(); //广播地址 }

http://blog.csdn.net/u013007900/article/details/50444459


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM