zoukankan      html  css  js  c++  java
  • QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

    1.获取计算机名称:

    /*
     * 名称:get_localmachine_name
     * 功能:获取本机机器名称
     * 参数:no
     * 返回:QString
     */
    QString CafesClient::get_localmachine_name()
    {
        QString machineName     = QHostInfo::localHostName();
        return machineName;
    }

    2.获取本机IP地址

    /*
     * 名称:get_localmachine_ip
     * 功能:获取本机的IP地址
     * 参数:no
     * 返回:QString
     */
    QString CafesClient::get_localmachine_ip()
    {
        QString ipAddress;
        QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
        // use the first non-localhost IPv4 address
        for (int i = 0; i < ipAddressesList.size(); ++i) {
            if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
                ipAddressesList.at(i).toIPv4Address()) {
                ipAddress = ipAddressesList.at(i).toString();
                break;
            }
        }
        // if we did not find one, use IPv4 localhost
        if (ipAddress.isEmpty())
            ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
        return ipAddress;
    }

    3.获取本机网络连接名、MAC地址

    /*
     * 名称:get_localmachine_mac
     * 功能:获取本机的MAC地址
     * 参数:no
     * 返回:void
     */
    QString CafesClient::get_localmachine_mac()
    {
        QList<QNetworkInterface> nets       = QNetworkInterface::allInterfaces();
        int i = 0;
        foreach(QNetworkInterface ni,nets)
        {
            i++;
            qDebug()<<i<<ni.name()<<ni.hardwareAddress()<<ni.humanReadableName();
        }
    }

    4.获取本机子网掩码、广播地址

    在上个函数的环境下
    QList<QNetworkAddressEntry> entryList =interface.addressEntries();  
      10.      //获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址  
      11.         foreach(QNetworkAddressEntry entry,entryList)  
      12.         {//遍历每一个IP地址条目  
      13.             qDebug()<<”IP Address: “<<entry.ip().toString();  
      14.             //IP地址  
      15.             qDebug()<<”Netmask: “<<entry.netmask().toString();  
      16.             //子网掩码  
      17.             qDebug()<<”Broadcast: “<<entry.broadcast().toString();  
      18.             //广播地址  
      19.         }  
  • 相关阅读:
    SpringMVC拦截器使用
    JavaCORBA
    Mybatis各语句高级用法(未完待续)
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part II
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part I
    iBatis连接MySQL时的注意事项
    MyBatis入门
    属性(property) VS 数据成员(field)
    [译文]C# Heap(ing) Vs Stack(ing) in .NET: Part III
    LINQ To Objects
  • 原文地址:https://www.cnblogs.com/justwake/p/3155243.html
Copyright © 2011-2022 走看看