getIPSttring():连接的ip以及端口号来返回本地的ip地址
getMacString() : 通过本地的ip地址获得该IP地址关联的网络接口的MAC地址
QString getIpString(QString ip, QString port)
{QTcpSocket socket;int t_port = port.toInt();socket.connectToHost(ip, t_port);if (socket.waitForConnected(1000)){QHostAddress address = socket.localAddress();if (address.protocol() == QAbstractSocket::IPv4Protocol && address != QHostAddress(QHostAddress::LocalHost)){return address.toString();}}return "";
}QString getMacString(QString localIP)
{if (localIP.isEmpty())return "";QList<QNetworkInterface> network = QNetworkInterface::allInterfaces();foreach(QNetworkInterface net, network){if (net.flags().testFlag(QNetworkInterface::IsUp)&& net.flags().testFlag(QNetworkInterface::IsRunning)&& net.flags().testFlag(QNetworkInterface::CanBroadcast)&& net.flags().testFlag(QNetworkInterface::CanMulticast)&& net.hardwareAddress() != "00:00:00:00:00:00"&& net.hardwareAddress() != "80:80:80:80:80:80"){QList<QNetworkAddressEntry> allIP = net.addressEntries();foreach(QNetworkAddressEntry ip, allIP){if (ip.ip().protocol() == QAbstractSocket::IPv4Protocol){if (ip.ip().toString().compare(localIP) == 0)return net.hardwareAddress();}}}}return "";
}