QT获取本地网络信息

QT获取本地网络信息

开发工具与关键技术:QtCreator、C++
作者:何任贤
撰写时间:2020年06月10日

获取本机网络信息要在工程文件(.Pro)加上
QT += network

然后就是要引入的类
#include
#include
#include
#include
QHostInfo类为主机信息类,为主机名查找提供静态函数
QHostAddress类为主机地址类,管理IPV4或IPV6地址信息。
QNetworkInterface类为网络接口类,提供主机IP地址和网络接口的列表。
QNetworkAddressEntry类为网络地址实体,存储网络接口支持的一个IP地址及其 关联的网络掩码和广播地址。

QHostInfo是获取本机名称和ip地址的
获取本机名称:
QHostInfo::fromName(loaclHostName);

获取ip地址
QHostInfo::fromName(loaclHostName);
并且我们还可以获得一些网址的ip地址
QHostInfo::fromName(“www.baidu.com”);
这样我们可以获取到百度的ip地址
在这里插入图片描述

上面这个就百度的ip地址
我们在浏览器输入这个ip地址可以跳转到百度搜索页面。
在这里插入图片描述

下面是获取本地网络接口的获取方式
foreach (QNetworkInterface interface, interfaceList)
{
//获取网络接口信息
msgStr += tr(“硬件地址:%1\n”).arg(interface.hardwareAddress());
msgStr += tr(“可读名称:%1\n”).arg(interface.humanReadableName());
msgStr += tr(“名称:%1\n”).arg(interface.name());
msgStr += tr("\n");

    //获取网络接口对应的网络地址实体
    QList<QNetworkAddressEntry> entryList = interface.addressEntries();

foreach (QNetworkAddressEntry entry, entryList)
{
//获取网络地址实体
msgStr += tr("\tip地址:%1\n").arg(entry.ip().toString());
msgStr += tr("\t子网掩码:%1\n").arg(entry.netmask().toString());
msgStr += tr("\t广播地址:%1\n").arg(entry.broadcast().toString());
}
}
在这里插入图片描述

上面这个就是本地网络信息我们可以从可读名称知道是什么网络的信息。
我们可以看到有WLAN、本地连接1、本地连接2、以太网1、以太网2。
其中以太网是大家最熟悉的,至于他们的区别,有兴趣的可以自己去了解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值