Derzeit verwende ich diesen Code zum Abrufen des Ping eines Zielsystems. Allerdings funktioniert es bisher nur unter Linux und es hängt wahrscheinlich von den Gebietsschemaeinstellungen ab. Um Unterstützung für Windows hinzuzufügen, wird wahrscheinlich noch komplizierter. Gibt es einen einfachen Weg oder eine Bibliothek, um den Ping eines Zielsystems zu erhalten? Ich arbeite hauptsächlich mit Qt, also wäre es ideal, wenn ich mit QSockets arbeiten könnte.Holen Sie den Ping von einem Remote-Ziel mit 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
In Bezug auf ICMP mit Qt, fand ich diesen Link: http://lists.qt-project.org/pipermail/interest/2013-Januar/005746.html Sieht aus wie Sie es mit Qt Netzwerkklassen –