獲取主機名稱
/*
* 名稱: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 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;
}
獲取本機網絡連接名、MAC地址
/*
* 名稱:get_localmachine_mac
* 功能:獲取本機的MAC地址
* 參數:no
* 返回:void
*/
QString CafesClient::get_localmachine_mac()
{
QList nets = QNetworkInterface::allInterfaces();
int i = 0;
foreach(QNetworkInterface ni,nets)
{
i++;
qDebug()<
獲取本機子網掩碼、廣播地址
//在上個函數的環境下
QList entryList =interface.addressEntries();
//獲取IP地址條目列表,每個條目中包含一個IP地址,一個子網掩碼和一個廣播地址
foreach(QNetworkAddressEntry entry,entryList)
{
//遍歷每一個IP地址條目
qDebug()<<”IP Address:
“<