• 12701阅读
  • 8回复

用什么方法获取本机IP [复制链接]

上一主题 下一主题
离线keven
 
只看楼主 倒序阅读 楼主  发表于: 2006-10-27
请教各位高手,使用QT里的哪个类或者是方法,能够实现运行程序,显示本机的IP地址!
离线wangowen

只看该作者 1楼 发表于: 2006-10-27
这个帖子已经有人问过了。

QHostInfo *hostInfo;
hostInfo=new QHostInfo;
QHostInfo localhost=QHostInfo::fromName(hostInfo->localHostName());
QHostAddress address = localhost.addresses().first();
QString ipstr=address.toString();
离线keven
只看该作者 2楼 发表于: 2006-10-30
晕,我取的IP是“127.0.1.1”,我要去“192.168.***.***”,怎么取,
离线mike
只看该作者 3楼 发表于: 2006-11-30
系统调用ifconfig
离线iiiyyyhhhsss

只看该作者 4楼 发表于: 2009-10-16
一楼的方法获取的是本机回送地址,并不是真实的那个的本机IP地址
[ 此帖被iiiyyyhhhsss在2009-10-16 16:56重新编辑 ]
离线iiiyyyhhhsss

只看该作者 5楼 发表于: 2009-10-17
QNetworkInterface().allAddresses().at(2).toString()
离线hbzyn1
只看该作者 6楼 发表于: 2010-06-29
楼上的高手,我想请教一下,我试了你的办法,但是编译时候显示这样的3个错误,是为什么啊?
1:internal compiler error、

2:while executing in file 'CException.c'  line: 3094
3:Creation Time    Description    Resource    Path    Location    Type
1277776600939    (compiling '?0' in 'widget.cpp')    widget.cpp    /test_ip    line 53    C/C++ Problem
  
我的程序是这样的:

QString str;
    str = QNetworkInterface().allAddresses().at(2).toString();
    ui->label_2->setText(str);
    qDebug()<<str<<endl;


我把at()里面的参数2换成1,0,也是同样的错误。
高手,还请救救急!
离线张振虎
只看该作者 7楼 发表于: 2010-06-30
 

QNetworkInterface  localInterface =localInterface.interfaceFromName("设备名称 例如 eth0");
     QString MAC =localInterface.hardwareAddress()/* "90:FB:A6:11:52:63"*/;
    int localNetmask = 0xFFFFFF00;
   int localIP ;
     for(int i =0; i < localInterface.addressEntries().size(); i ++)
     {
         if( !localInterface.addressEntries().at(i).ip().isNull() &&localInterface.addressEntries().at(i).ip().protocol()==QAbstractSocket::IPv4Protocol)
         {
             localIP = localInterface.addressEntries().at(i).ip().toIPv4Address();
             localNetmask =  localInterface.addressEntries().at(i).netmask().toIPv4Address();
             break;
         }
     }
离线zd_zhou
只看该作者 8楼 发表于: 2010-07-01
Qt网络(五)获取本机网络信息

http://qt.csdn.net/articles.aspx?pointid=489&pointid2=7
快速回复
限100 字节
 
上一个 下一个