中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT 使用 QTcpSocket來檢測 ip 設備的網絡狀態

發布時間:2020-04-25 23:57:32 來源:網絡 閱讀:3828 作者:太陽真圓 欄目:編程語言

使用QT中 QTcpSocket來檢測設備的網絡狀態:

函數返回true,設備網絡狀態正常,返回false,設備網絡異常。

bool TcpIpSocket::sendATcpSocketToIp(QString ip){
    m_ipAdress = ip;
    abort();
    connectToHost(m_ipAdress, port);
    //等待timeout時間,如果仍然不通,則異常
    return waitForConnected(timeout);
}

要實現實時一直檢測,使用while:

    runWhile = true;    runBreak = false;
    bool retPing;
    while(runWhile){
        retPing = m_senderAgent.sendATcpSocketToIp(ipAdress);
        if(retPing == true){
            //ping 成功,目標ip網絡正常,發送commandSuccessed
            emit commandSuccessed();
        }else{
            //ping 失敗,目標ip網絡不正常,發送commandFailed
            emit commandFailed();
        }

        sleep(1000);    // sleep 1s

        if(runBreak){
            break;
        }
    }//end of while

       運行中還存在問題的是,假如使用另外一個函數,在某個時刻觸發,使runBreak = true ,或者 runWhile = false,但是這個while仍然一直循環執行,不會跳出,但是當注釋掉sleep(1000)后,while就會跳出。但是注釋掉sleep(1000)后,該while會占用大量cpu資源全力發送數據包(這個不是想要的,只能兩害取其輕了)。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东兰县| 石泉县| 手机| 井研县| 彭州市| 洛川县| 攀枝花市| 镇雄县| 武宁县| 尉氏县| 扬中市| 翁牛特旗| 满城县| 盐边县| 扎兰屯市| 宜春市| 赫章县| 木里| 浮梁县| 龙里县| 关岭| 沧源| 新疆| 上栗县| 濮阳县| 平塘县| 平南县| 九寨沟县| 墨玉县| 时尚| 榕江县| 白朗县| 昌乐县| 巴南区| 郸城县| 抚远县| 皋兰县| 丽江市| 曲沃县| 澄迈县| 康保县|