zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    点击新闻弹出新闻内容,并且新闻内容根据鼠标移动
    阻止用户复制页面上的文字的几种方法
    js简易聊天框- 鼠标和回车键发送消息
    Java——package和import关键字
    Java——static关键字
    Java——单例模式初步
    Java——this关键字
    Java面向对象的特征一:封装性
    Java再谈方法
    Java——对象
  • 原文地址:https://www.cnblogs.com/xiaomanon/p/5057943.html
Copyright © 2011-2022 走看看