Название: Как пропинговать сервер Отправлено: Mirael Karamir от Июня 27, 2007, 13:54 Привет всем! Кто нибудь может привети пример кода, как можно из Qt пропинговать другой компьютер в сети?
Название: Как пропинговать сервер Отправлено: AcerExtensa от Июня 27, 2007, 13:59 Код:
Название: Как пропинговать сервер Отправлено: Mirael Karamir от Июня 27, 2007, 14:04 спасибо, а как узнать результат??? (доступен сервер или нет?)
Название: Как пропинговать сервер Отправлено: AcerExtensa от Июня 27, 2007, 14:09 Код: te->append( QString::fromLocal8Bit(myProcess.readAllStandardOutput())); te - Поле QTextEdit например. добавлено спустя 2 минуты: Ну а если результат не надо выводить а только вывести доступен или нет то можно забацать через Регулярные Выражения RegExp форма ответа пинга ведь известна. Название: Как пропинговать сервер Отправлено: Mirael Karamir от Июня 27, 2007, 14:16 О... а можно второй вариант поподробнее??? Просто никогда не работал ни с QProcess ни с RegExp...
Название: Как пропинговать сервер Отправлено: AcerExtensa от Июня 27, 2007, 14:19 Уменя у самого RegExp храмает........ но попробуй........ пинг под Виндой или под Иксами?
Название: Как пропинговать сервер Отправлено: Mirael Karamir от Июня 27, 2007, 14:24 Как минимум и под то, и под другое. Может как товсе можно сделать через сокеты?
Название: Как пропинговать сервер Отправлено: AcerExtensa от Июня 27, 2007, 14:41 Можно и наверное гораздо лутше.......
добавлено спустя 12 минут: Думаю надо смотреть в эту сторону: Цитировать bool QTcpServer::waitForNewConnection ( int msec = 0, bool * timedOut = 0 ) Waits for at most msec milliseconds or until an incoming connection is available. Returns true if a connection is available; otherwise returns false. If the operation timed out and timedOut is not 0, *timedOut will be set to true. This is a blocking function call. Its use is disadvised in a single-threaded GUI application, since the whole application will stop responding until the function returns. waitForNewConnection() is mostly useful when there is no event loop available. The non-blocking alternative is to connect to the newConnection() signal. See also hasPendingConnections() and nextPendingConnection(). глянь Тролевские доки. Название: Как пропинговать сервер Отправлено: Mirael Karamir от Июня 27, 2007, 14:45 Моя задача не сервер написать, а переодически проверять есть ли связь с сервером моей компании, и стягивать с него кой-какие данные.
Название: Как пропинговать сервер Отправлено: AcerExtensa от Июня 27, 2007, 14:57 ну так с этим и сможеш проверить: "Returns true if a connection is available; otherwise returns false" задаеш таймаут в пару секунд, если конект прошел делаеш что тебе надо, если нет то пинг не прошел............
глянь в доки, может там что попроще есть....... мне просто это на глаза попалось......... Название: Как пропинговать сервер Отправлено: J. Bond от Июня 28, 2007, 08:29 QAbstractSocket::connectToHost()
а потом QAbstractSocket::waitForConnected(); Название: Re: Как пропинговать сервер Отправлено: AAXEE от Марта 24, 2009, 20:55 1.5 года прошло. Ничего нового в Qt, касаемо пинга не появилось?
Название: Re: Как пропинговать сервер Отправлено: lit-uriy от Марта 24, 2009, 21:31 вроде нет
Название: Re: Как пропинговать сервер Отправлено: Ruzzz от Ноября 02, 2009, 23:52 Для пинга нужен ICMP, а он вроде в nix'ах только из под рута?
|