Qt获取本机IP、MAC地址、子网掩码、网卡名等函数设计
获取本机IP函数
QString getIp()
{QString myIp;QList<QHostAddress> ipList = QNetworkInterface::allAddresses();for (int i = 0; i < ipList.size(); ++i) // 获取第一个本主机的IPv4地址{if (ipList.at(i) != QHostAddress::LocalHost && ipList.at(i).toIPv4Address()){myIp= ipList.at(i).toString();break;}}if (myIp.isEmpty()) // 如果没有找到,则使用本地IPmyIp= QHostAddress(QHostAddress::LocalHost).toString();return myIp;
}
获取本机MAC地址函数
QString getMAC()
{QString myMAC;auto interfaces = QNetworkInterface::allInterfaces();for (int i = 0; i < interfaces.size(); i++){if (interfaces.at(i).isValid()){myMAC= interfaces.at(i).hardwareAddress();break;}}return myMAC;
读取网卡名、IP地址、子网掩码及广播地址
QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces(); for (int i = 0; i < interfaceList.count(); i++){QNetworkInterface interf = interfaceList.at(i);interf.humanReadableName(); //接口名称(网卡)QList<QNetworkAddressEntry> entryList = interf.addressEntries(); // 读取一个IP地址列表 for(int j = 0; j < entryList.count(); j++) { QNetworkAddressEntry entry = entryList.at(j); QString ip = entry.ip().toString(); //IP地址QString mask = entry.netmask().toString(); //子网掩码QString bcast = entry.broadcast().toString(); //广播地址 } }
以上代码 实现类及其对应函数
1、QHostInfo类
函数 | 功能 |
---|---|
QHostInfo::localHostName()
|
静态函数,获取主机名 |
QHostInfo::fromName(hostName)
|
静态函数,通过主机名获取一个HostInfo对象 |
QList<QHostAddress> addresses()
|
返回一个HostAddress列表 |
2、QHostAddress类
函数 | 功能 |
---|---|
hostAddress.toString()
|
将地址作为str返回 |
3、QNetworkInterface类
函数 | 功能 |
---|---|
QList<QNetworkAddressEntry> addressEntries()
|
返回一个AddressEntry列表 |
QList<QHostAddress> allAddress()
|
静态函数,返回一个HostAddress列表 |
QString name()
|
返回网卡设备名 |
QString hardwareAddress()
|
返回硬件地址(MAC) |
QList<QNetworkInterface> allInterfaces()
|
静态函数, 读取所有网卡信息 |
4、QNetworkAddressEntry类
函数 | 功能 |
---|---|
entry.ip().toString()
|
获取IP地址 |
entry.netmask().toString()
|
获取子网掩码 |
entry.broadcast().toString()
|
获取广播地址 |
Qt获取本机IP、MAC地址、子网掩码、网卡名等函数设计相关推荐
- qt获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址
获取主机名称 /** 名称:get_localmachine_name* 功能:获取本机机器名称* 参数:no* 返回:QString*/ QString CafesClient::get_local ...
- QT 获取本机IP地址 子网掩码 网卡
QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces(); for (int ...
- QT获取本机IP,本地IP
QString str; QList<QHostAddress> NetList = QNetworkInterface::allAddresses(); //取得全部信息 for(int ...
- 批处理bat Windows脚本实现获取本机所有MAC地址
代码片 @echo off for /f "skip=3" %%a in ('getmac') do (echo %%a)>>D:\mac.txt 解释 @echo o ...
- qt获取本机全部ipv4_QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址...
获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...
- QT获取本机的IP地址、mac地址、mask地址和广播IP(Ubuntu QT环境下实现)
1.简介 用QT做网络通讯数据传输时,要先获取本机的网卡的IP地址.mac地址.mask地址和广播IP,以便创建socket进行通讯数据传输. 2.本博文主要封装函数: (1).getIP():获取本 ...
- Qt学习之路之获取本机IP
Qt提供的好几个类都可以获取到本机IP:IP4与IP6.这里,笔者使用QT获取本IP的方式如下: 头文件名: gethostIP_widget.h 头文件代码如下: #ifndef GETHOSTIP ...
- java returnAddres_java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了...
本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...
- Qt网路与通信(获取本机IP、MAC、IPV6子网掩码等网络信息)
Qt网路与通信(获取本机网络信息) 在网络应用中,经常需要获取本机的主机名/IP地址和硬件地址信息等网络信息.运用QHostInfo.QNetworkInterface.QNetworkAddress ...
最新文章
- svm 彻底的过程
- 【百家稷学】从传统方法到深度学习,人脸算法和应用的演变(河南平顶山学院技术分享)...
- 润乾报表与DERBY数据库的创建连接详解
- 【深度学习】神经网络中的蒸馏技术,从Softmax开始说起
- 动态编译MySQL plugin
- android 对话框
- C++ struct实现顺序表
- 【转】UML基础: 第 2 部分 - 对象图 (Object Diagram)
- leetcode23-合并K个升序链表
- datax 高级_GitHub - HeyTool/DataX
- 国内的点对点聊天工具鱼信Fishchat怎么用?
- MAC 青花瓷(Charles)爪机HTTPS 抓包
- python使用openpyxl插入excel批注,同时修改excel批注框大小
- 库克将为斯坦福大学2019年毕业典礼致辞:6月16日举行
- win32 - 保存路径对话框(SelectFolderDialog)
- 正确的临摹方法,小白零基础临摹教程
- 科学论文类型分类(letter,nbsp;p…
- python根据表格数据生成折线图_python生成折线图
- 我的MFC/C++学习笔记 http://blog.bccn.net/CrystalFan/6909
- 全国2011年1月考试电子商务与电子政务试题
热门文章
- 如何做一个基于微信高校食堂就餐预约小程序序系统毕业设计毕设作品
- 关于Neuro-Fuzzy Designer的使用
- matlab怎么发声,听听函数,看看声音--Matlab的sound()函数
- (java)输入一个正整数n(1≤n≤6)和n阶方阵A,交换方阵A中的最大值与最小值位置。假定方阵A中的最大值与最小值都唯一。
- B/S结构体系、C/S结构体系
- SkeyeARS全景AR增强监视系统助力林业部门打造森林防火视频监控网
- STM:一种新的肺癌标志物
- 滴滴全民拼车日背后的运维技术揭秘
- 金蝶EAS8.61 金蝶SHR8.61 金蝶EAS8.6 金蝶EAS8.5 金蝶EAS8.2 金蝶EAS8.0 金蝶EAS7.5 金蝶EAS7.03 金蝶EAS7.01 金蝶EAS7.0
- 区块链为什么这么火?又是一次不可错过的商机?