您的位置:首页 > 理论基础 > 计算机网络

在Qt中使用QProcess类实现检测当前网络是否能ping通某段IP地址

2017-08-24 00:31 627 查看
在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;
}
}


努力去寻找人生的ONE PIECE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: