qt使用ping检测IP是否可以连接
#include <QCoreApplication> #include <QProcess> #include <QDebug> bool QtPing(const QString ip) { #ifdef Q_OS_WIN // #Windows指令 "ping IP -n 1 -w 超时(ms)" QString cmdstr = QString("ping %1 -n 1 -w %2") .arg(ip).arg(1000); #else // #Linux指令 "ping -s 1 -c 1 IP" //QString cmdstr = QString("ping -s 1 -c 1 %1") // .arg(ip); #endif QProcess cmd; cmd.start(cmdstr); cmd.waitForReadyRead(1000); cmd.waitForFinished(1000); QString res = QString::fromLocal8Bit(cmd.readAll()); qDebug() << res; if (res.indexOf("TTL") == -1) { qDebug() << ip << QString::fromLocal8Bit("ping不通"); return false; } else { qDebug() << ip << QString::fromLocal8Bit("ping通"); return true; } } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QtPing("127.0.0.1"); QtPing("10.173.1.55"); return a.exec(); }