• Qt-获取网络接口信息的综合示例


    在前面的文章中介绍了与 获 取 本 机 网 络 信 息 相 关 的 类 常 用 的 有 4 个 , 分 别 是 : QHostAddress, QHostInfo, QNetworkInterface 和 QNetworkAddressEntry。这4个类就不详细介绍了,本文我们主要使用这4个类中的常用方法来获取有关网络接口的相关信息。

     1 #include "mainwindow.h"
     2 
     3 #ifdef IR_FUNC_TEST
     4 #include <QDebug>
     5 #include <QHostInfo>
     6 #include <QHostAddress>
     7 #include <QNetworkInterface>
     8 #include <QNetworkAddressEntry>
     9 
    10 #endif
    11 
    12 MainWindow::MainWindow(QWidget *parent)
    13     : QMainWindow(parent)
    14 {
    15 
    16 #ifdef IR_FUNC_TEST
    17     // 获取主机名
    18     QString localHostName = QHostInfo::localHostName();
    19     qDebug() << "主机名: " << localHostName;
    20 
    21     // 获取本主机上的IP地址列表
    22     QHostInfo hostInfo = QHostInfo::fromName(localHostName);
    23     QList<QHostAddress> addrList = hostInfo.addresses();
    24     qDebug() << "本主机上的IP地址列表,总计: " << addrList.count();
    25     foreach (QHostAddress var, addrList) {
    26         qDebug() << var.toString();
    27     }
    28 
    29     // 获取本机的网络接口列表
    30     QList<QNetworkInterface> ifaceList = QNetworkInterface::allInterfaces();
    31     for (int i = 0; i < ifaceList.count(); i++){
    32         QNetworkInterface var = ifaceList.at(i);
    33         qDebug() << tr("########## 设备%1 ############").arg(i);
    34         qDebug() << tr("接口名称:") << var.humanReadableName();
    35         qDebug() << tr("设备名称:") << var.name();
    36         qDebug() << tr("硬件地址:") << var.hardwareAddress();
    37 
    38         // 读取一个IP地址的关联信息列表
    39         QList<QNetworkAddressEntry> entryList = var.addressEntries();
    40         foreach(QNetworkAddressEntry entry, entryList){
    41             qDebug() << "IP: " << entry.ip().toString();
    42             qDebug() << "子网掩码:" << entry.netmask().toString();
    43             qDebug() << "广播地址:" << entry.broadcast().toString();
    44         }
    45     }
    46 
    47 #endif
    48 }
    49 
    50 MainWindow::~MainWindow()
    51 {
    52 
    53 }
  • 相关阅读:
    109. 有序链表转换二叉搜索树
    108. 将有序数组转换为二叉搜索树
    235. 二叉搜索树的最近公共祖先
    538. 把二叉搜索树转换为累加树
    230. 二叉搜索树中第K小的元素
    669. 修剪二叉搜索树
    513. 找树左下角的值
    637. 二叉树的层平均值
    671. 二叉树中第二小的节点
    DDL-Oracle中的5种约束总结(未完待续)
  • 原文地址:https://www.cnblogs.com/xiaomanon/p/5057943.html
Copyright © 2020-2023  润新知