gpt4 book ai didi

c++ - Qt - 从 IP 地址获取主机名和 MAC 地址

转载 作者:行者123 更新时间:2023-11-30 04:06:54 30 4
gpt4 key购买 nike

在我的应用程序中,我想从 IP 地址(在我的 LAN 中)获取主机名和 MAC 地址。我使用此代码查找主机名,但 lineedit 中什么也没有出现。

QHostInfo HI;
QHostAddress HA("192.168.1.1");
QList<QHostAddress> List;
List.append(HA);
HI.setAddresses(List);
ui->ledHostname->setText(HI.hostName());

最佳答案

要从 IP 地址检索主机名,您可以调用 lookupHost(),它将主机名或 IP 地址、接收者对象和插槽签名作为参数。结果准备就绪时调用插槽。结果存储在 QHostInfo 对象中。调用 addresses() 获取主机的 IP 地址列表,调用 hostName() 获取查找的主机名。

QHostInfo::lookupHost("92.168.1.1",
this, SLOT(lookedUp(QHostInfo)));

void MyWidget::lookedUp(const QHostInfo &host)
{
if (host.error() != QHostInfo::NoError) {
qDebug() << "Lookup failed:" << host.errorString();
return;
}

foreach (const QHostAddress &address, host.addresses())
qDebug() << "Found address:" << address.toString();
}

要获取远程 IP 的 MAC 地址,您应该使用系统命令和特定于平台的代码。 Qt 中没有办法做到这一点。例如在 Windows 上可以通过以下方式完成:

arp -a <IP>

关于c++ - Qt - 从 IP 地址获取主机名和 MAC 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22727687/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com