获取主机名称
/** 名称:get_localmachine_name* 功能:获取本机机器名称* 参数:no* 返回:QString*/QString CafesClient::get_localmachine_name(){QString machineName= QHostInfo::localHostName();return machineName; }
获取本机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 addressfor (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; }
获取本机网络连接名、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(); } }
获取本机子网掩码、广播地址
//在上个函数的环境下QList<QNetworkAddressEntry> entryList =interface.addressEntries();//获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址foreach(QNetworkAddressEntry entry,entryList){//遍历每一个IP地址条目 qDebug()<<”IP Address: “<<entry.ip().toString(); //IP地址 qDebug()<<”Netmask: “<<mask().toString(); //子网掩码 qDebug()<<”Broadcast: “<<entry.broadcast().toString(); //广播地址 }