环境:Ubuntu10.04 + Qt4.7.0
Linux获得本地IP的方法,我尝试了两种
1.用QHostInfo类解析
QHostInfo类可以解析域名,理论上也可以解析本地IP,可是经过尝试,我发现解析出来的IP是127.0.0.1是本地回环地址,不符合我的需求。
代码:
//获取本地IP QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName()); //QHostInfo info=QHostInfo::fromName("www.google.com"); //Sys_Res.local_ip = info.addresses().first().toString(); //qDebug() << Sys_Res.local_ip; if (info.error() != QHostInfo::NoError) { qDebug() << "Lookup failed:" << info.errorString(); return; } for (int i = 0;i < info.addresses().size();i++) { qDebug() << "Found address:" << info.addresses()[i].toString() << endl; }