❶ QT在获取本机IP地址时如何区分哪一个是正在连接的IP
查看本机IP的方法:
查看本机IP分为两种情况:
第一种:IP地址是使用ADSL拨号上网时,由电信服务提供商分配给你的IP地址,通常这种地址称之为逗动态地址地,也就是说电脑每次开机都将分配给你新的IP地址,那么如何查看本机IP呢看 首先,打开逗开始地菜单——选择逗运行地——输入逗cmd地——按下逗Enter地回车键,这样做可以打开逗命令提示符地,在命令提示符中输入逗ipconfig地,按下逗Enter地回车键;
系统给出的结果看下图所示:
输入cmd,打开命令提示符
在命令提示符中输入:ipconfig 查看本机IP
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Autoconfiguration IP Address. . . : ***.***.***.*** (这串字符表示DHCP分配的地址,并不是当前本机的公网IP地址)
Subnet Mask. . . . . . . . . . . : 255.255.0.0 (子网掩码)
Default Gateway . . . . . . . . . :
PPP adapter (你的宽带连接名称):
Connection-specific DNS Suffix . :
IP address. . . . . . . . . . . . : ***.***.***.*** (这串字符就是当前本机的IP地址)
Subnet Mask. . . . . . . . . . . : 255.255.255.255 (子网掩码)
Default Gateway . . . . . . . . . : ***.***.***.*** (默认网关)
步骤阅读
第二种,处于局域网中的计算机IP地址,是由路由器或集线器分配的局域网IP地址,这串IP地址字符通常以192.168.0.*的形式出现,它是本机在局域网中的IP地址,并非公网地址;如下图所示:
❷ Qt 如何在界面上输出地址
int a = 10;
char str[20]={0};
sprintf(str, "0x%x", (unsigned int)&a);
ui->edit1->setText(str);
qDebug()<<&a;
上面的方法可以试一下
我这里测试通过的
❸ 使用QT编写的TCP服务程序,怎么获取连接的客户端IP地址
QTcpSocket * QTcpServer::nextPendingConnection ()
QHostAddress QAbstractSocket::peerAddress ()
❹ qt怎样获得自己的ip地址
QStringMainWindow::getIP2()//获取ip地址
{
QList<QHostAddress>list=QNetworkInterface::allAddresses();
foreach(QHostAddressaddress,list)
{
if(address.protocol()==QAbstractSocket::IPv4Protocol)
//我们使用IPv4地址
returnaddress.toString();
}
return0;
}
❺ Qt 怎么判断网络是否断开
------解决方案--------------------
如果有自己的服务器就好了 :)
否则就ping一个相对可靠的IP
------解决方案--------------------
如果是服务器客户端,互发心跳包
------解决方案--------------------
QHostInfo::lookupHost("www..com", this, SLOT(lookedUp(QHostInfo)));
void lookedUp(QHostInfo &host)
{
qDebug() << host.addresses().first().toString();
}
得到IP 地址 就是在互联网上 如果不能得到 就不行 用个定时器 每五秒钟一次 就OK了
------解决方案--------------------
也可以这样
QProcess *cmd
cmd->start("ping www..com");
qDebug() << cmd->readAll() ;
就是看他ping的结果怎么样.