分类: 嵌入式
2011-12-23 20:55:53
通过QNetworkInterface类来获取本机的IP地址和网络接口信息。
QNetworkInterface类提供了程序所运行时的主机的IP地址和网络接口信息的列表。在每一个网络接口信息中都包含了0个或多个IP地址,而每一个IP地址又包含了和它相关的子网掩码和广播地址,它们三者被封装在一个QNetworkAddressEntry对象中。网络接口信息中也提供了硬件地址信息。我们将widge.cpp构造函数中以前添加的代码删除,然后添加以下代码。
总结:
在这一节中我们学习了如何来查找本机网络设备的相关信息。其实,以后最常用的还是其中获取IP地址的方法。我们以后可以利用一个函数来获取IP地址和MAC地址:
QString myIP::getIP() //获取ip地址
{ QList<QHostAddress> list = QNetworkInterface::allAddresses(); foreach (QHostAddress address, list) { if(address.protocol() == QAbstractSocket::IPv4Protocol)//我们使用IPv4地址 return address.toString(); } return 0;}QString myIP::getMAC() //获取获取本机物理地址
{ QList<QNetworkInterface> list = QNetworkInterface::allInterfaces(); foreach(QNetworkInterface interface,list) { return interface.hardwareAddress(); } return 0;}