Консультация № 52968
23.08.2006, 06:51
0.00 руб.
0 4 4
Может вы мне поможете? пришла нужда написать программу, которая отсылает пинг на десяток IP или сайтов, проверяет живы ли они и возвращает результат юзеру. какой компонент мне лучше использовать для этого, ведь требуется преобразовывать имя в IP, работать через прокси и т п. а если найдется еще и исходник такой программы я вообще рад буду до небес. Заранее сасибо

Приложение:
Среда Borlanв с++6

Обсуждение

Неизвестный
23.08.2006, 07:21
общий
это ответ
Здравствуйте, Dracon64!
Как я понял, Borland C++ Builder у вас среда?
Тогда можно использовать компонент TIdIcmpClient из библиотеки Indy (обычно идет в дистрибутиве с билдером)
Неизвестный
23.08.2006, 07:25
общий
это ответ
Здравствуйте, Dracon64!

Лучше всего для этой задачи IMHO подходит не C++, а например perl.

Кроме того такие программки уже есть, их можно найти в интернете, наверняка есть даже бесплатные и с исходниками :)

Если это серверы и 100% предоставляют какой-нибудь сервис, то у них должно быть открыто хотя бы по одному порту. Можно с помощью обычных сокетов в цикле пытаться сединиться с каждым из них, в случае удачи сразу же разрывать соединение. Только надо это делать не слишком часто, скажем - раз в 5 мин или ещё реже, иначе это больше будет походить на атаку :)
Неизвестный
23.08.2006, 07:54
общий
это ответ
Здравствуйте, Dracon64!
Используйет пакет компонентов Indy
давно
Академик
20764
1861
23.08.2006, 10:51
общий
это ответ
Здравствуйте, Dracon64!

Вообще-то в мире UNIX для этого существует программа под именем fping, только я не знаю, есть ли ее версия под Windows.

Кроме того, ваш прокси очевидно не обслуживает пакеты ICMP echo/response, так что вам придется использовать TCP протокол echo, а это - уже другая задача.

Реализовывать ping самому не так просто, как кажется - работать с ICMP хлопотно, да и в требуемом формате пакетов есть подвохи.
Форма ответа