在Qt中使用QProcess類實現檢測當前網絡是否能ping通某段IP地址

在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章