首先 在pro 里面 加入
QT += network
QHostInfo info = QHostInfo::fromName(QString("www.baidu.com"));
if(info.addresses().isEmpty())
{
qDebug() << "error" << endl;
}
else
{
qDebug() << "ok" << endl;
qDebug() << info.addresses();
}
如果有网可以检测到地址,没有就是空的
有网的时候输出为
ok
(QHostAddress("115.239.210.27") , QHostAddress( "115.239.210.26" ) )
这个方法目前只是暂时想到的,先做个记录,然后看看有没有别的更好的方法;
2:另一种方法 ping
QProcess *poc = new QProcess;
poc->setStandardOutputFile("output.txt");
poc->start("ping www.baidu.com");
输出结构到output.txt文件 有网的情况下输出结果为:
正在 Ping www.a.shifen.com [115.239.210.26] 具有 32 字节的数据:
来自 115.239.210.26 的回复: 字节=32 时间=12ms TTL=54
来自 115.239.210.26 的回复: 字节=32 时间=13ms TTL=54
来自 115.239.210.26 的回复: 字节=32 时间=12ms TTL=54
来自 115.239.210.26 的回复: 字节=32 时间=11ms TTL=54
115.239.210.26 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 11ms,最长 = 13ms,平均 = 12ms
可以根据ping输出的结果来做判断