标签: qabstractsocket

使用Qt从远程目标获取ping(Windows/Linux)

目前,我使用此代码检索目标系统的ping.但是它到目前为止只能在linux下工作,它可能依赖于语言环境设置.添加对Windows的支持可能会更复杂.是否有一种简单的方法或库来获取目标系统的ping?我主要使用Qt,所以如果我可以使用QSockets,那将是理想的.

#ifndef _WIN32
QProcess ping;
ping.start("ping", QStringList() << "-c 1" << m_sHostName);
if(ping.waitForFinished(250) ) {
    while(ping.canReadLine()) {
        QString line = ping.readLine();
        if(line.contains("time=")) {
            int iStart = line.indexOf("time=") + 5;
            int iStop = line.indexOf(" ms");
            QStringRef latency(&line, iStart, iStop-iStart);

            m_vNetwork_s.append(time_s);
            m_vLatency_ms.append(QString(latency.toLocal8Bit()).toDouble());
            break;
        }
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

c++ qt ping qtnetwork qabstractsocket

9
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×1

ping ×1

qabstractsocket ×1

qt ×1

qtnetwork ×1