在Qt中使用QProcess类实现检测当前网络是否能ping通某段IP地址
这里提供一个函数接口QtPing();
/*
* Brief 检测当前网络是否能ping通某段IP地址
* Param ip (QString) IP地址(类型:QString)
* Return bool 是否能ping通传入的IP地址
*/
#include <QProcess>
bool QtPing(const QString ip)
{
// #Linux指令 "ping -s 1 -c 1 IP"
//QString cmdstr = QString("ping -s 1 -c 1 %1")
// .arg(ip);
// #Windows指令 "ping IP -n 1 -w 超时(ms)"
QString cmdstr = QString("ping %1 -n 1 -w %2")
.arg(ip).arg(1000);
QProcess cmd;
cmd.start(cmdstr);
cmd.waitForReadyRead(1000);
cmd.waitForFinished(1000);
QString response = cmd.readAll();
if (res.indexOf("TTL") == -1)
{
return false;
}
else
{
return true;
}
}