【无标题】 qt 获取本机ip

qt 获取本机ip 三种方法

    QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName());
    foreach(QHostAddress address,info.addresses())
    {
      if(address.protocol()==QAbstractSocket::IPv4Protocol)
        qDebug()<<address.toString(); //输出IPV4的地址
    }


 //通过QNetworkInterface类来获取本机的IP地址和网络接口信息
    QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
    //获取所有网络接口的列表
    foreach(QNetworkInterface interface,list)
    {
        //遍历每一个网络接口
        qDebug() << "Device: "<<interface.name();
        //设备名
        qDebug() << "HardwareAddress:"<<interface.hardwareAddress();
        //硬件地址
        QList<QNetworkAddressEntry> entryList = interface.addressEntries();
        //获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址
        foreach(QNetworkAddressEntry entry,entryList)
        {
            //遍历每一个IP地址条目
            qDebug()<<"IP Address: "<<entry.ip().toString();
 
            //子网掩码
            qDebug()<<"Netmask: "<<entry.netmask().toString();
 
            //广播地址
            qDebug()<<"Broadcast: "<<entry.broadcast().toString();
 
            qDebug()<<endl;
        }
    }

    QString ad =QNetworkInterface::allAddresses().first().toString();
    qDebug()<<"QNetworkInterface::allAddresses().first().toString()"<<ad;


QString getIP() 
{
    QList<QHostAddress> list =QNetworkInterface::allAddresses();
    foreach (QHostAddress address, list)
    {
       if(address.protocol() ==QAbstractSocket::IPv4Protocol)
           //我们使用IPv4地址
           return address.toString();
    }
    return 0;
}

链接: https://blog.csdn.net/qq_25800311/article/details/81068351

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值