현재이 코드를 사용하여 대상 시스템의 ping을 검색합니다. 그러나 리눅스에서만 작동하며 로켈 설정에 따라 달라질 수 있습니다. 창에 대한 지원을 추가하는 것은 훨씬 더 복잡 할 수 있습니다. 대상 시스템의 ping을 얻는 쉬운 방법이나 라이브러리가 있습니까? 나는 주로 Qt로 작업하기 때문에 QSockets로 작업 할 수 있다면 이상적입니다.Qt를 사용하여 원격 대상에서 핑을 얻으십시오 (Windows/Linux)
#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
Qt를 사용하는 ICMP와 관련하여이 링크를 찾았습니다. http://lists.qt-project.org/pipermail/interest/2013-January/005746.html Qt의 네트워크 클래스로는 불가능한 것처럼 보입니다. –