Qt获得本地IP的方法


环境:Ubuntu10.04 + Qt4.7.0

Linux获得本地IP的方法,我尝试了两种

1.用QHostInfo类解析

QHostInfo类可以解析域名,理论上也可以解析本地IP,可是经过尝试,我发现解析出来的IP是127.0.0.1是本地回环地址,不符合我的需求。

代码:

  1. //获取本地IP   
  2.     QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName());  
  3.     //QHostInfo info=QHostInfo::fromName("www.google.com");   
  4.     //Sys_Res.local_ip = info.addresses().first().toString();   
  5.     //qDebug() << Sys_Res.local_ip;   
  6.   
  7.     if (info.error() != QHostInfo::NoError)  
  8.     {  
  9.          qDebug() << "Lookup failed:" << info.errorString();  
  10.          return;  
  11.     }  
  12.   
  13.     for (int i = 0;i < info.addresses().size();i++)  
  14.     {  
  15.          qDebug() << "Found address:" << info.addresses()[i].toString() << endl;  
  16.     }  
  • 1
  • 2
  • 下一页

相关内容