現在、ターゲット システムの 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