Здравствуйте,
как отправить ping запрос и получить ответ с помощью QT?
Желательно использовать только стандартные библиотеки.
Посмотри сдесь
http://doc.qt.nokia.com/qt-maemo/network-network-chat-connection-cpp.html
может поможет.
void ConnectManager::startPingProces()
{
...
ping_timer = new QTimer(this);
connect(ping_timer, SIGNAL(timeout()), this, SLOT(enginePing()));
ping_timer->start(100);
...
ping_process = new QProcess(this);
connect(ping_process,SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(enginePingFinished(int,QProcess::ExitStatus)));
enginePing();
}
void ConnectManager::enginePing()
{
...
#ifdef Q_OS_WIN32
ping_process->start(QLatin1String("ping -n 1 \"") + currentPingHost + QLatin1String("\"") );
#else
ping_process->start(QLatin1String("ping -c 1 -W 1 \"") + currentPingHost + QLatin1String("\"") );
#endif
}
если запускать ping через QProcess может прав не хватить.
ping использует ICMP которая требует определённых прав.
если есть привилегии то это будет лучше всего
http://www.prog.org.ru/index.php?topic=9064.msg51459#msg51459
можно глянуть еще вот это
http://qt.shamangrad.net/doku.php?id=%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8_%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D1%8F_%D0%BF%D0%B8%D0%BD%D0%B3%D0%B0_%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%BE%D0%B2
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)