Ping Delphi Пример
Ping средствами Delphi Ping — это служебная компьютерная программа, предназначенная для проверки соединений в сетях на основе TCP/IP. Она отправляет запросы Echo-Request протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженности каналов передачи данных и промежуточных устройств. Также пингом называется время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту, оно измеряется в миллисекундах. Время пинга связано со скоростью соединения и загруженностью каналов на всём протяжении от клиента к серверу.
Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request. А теперь конкретно на примерах. В основу одного из самого простого способа можно положить стандартную утилиту командной строки ping.exe, входящую в состав Windows. Команда Ping лежит в основе диагностики сетей TCP/IP. Например, чтобы быстро получить значения параметров конфигурации TCP/IP на своем компьютере в командной строке, следует набрать. Вот уединенный модуль пинга.
Добавлено 28.12.07, 19:39 Во ещё один пример. Надо использовать компонент IdIcmpClient. Этот включает метод Ping, который осуществляет запрос.

Информация о посланном ping получена в свойство ReplyStatus компонента. Находим там число полученных байтов (BytesReceived), время в тысяче секунд (MsRoundTripTime), TTL пакета (TimeToLive), и т.д. Вот в качестве примера функция, позволяющая определить ping, указываем IP или имя.
2007-2-4 Вот ещё один пример. Надо использовать компонент IdIcmpClient. Этот включает метод Ping, который осуществляет запрос.
Передаем также в параметре число отправлений, которое должны делать (чем больше число pings, тем результат будет точнее, но операция будет более медленнее выполняться), и Double переменная, в которую поместим результат. Функция отсылает true, если все прошло успешно, false в случае провала.
PingThread () - исходник программы, показывающей пример создания многопоточного ping-приложения с возможностью записи в файл. Apr 17, 2007 - Как вообще посредством Delphi можно определить пинг. Если можно поподробнее опишите как (пару строчек кода для примера).
Реализация ping с помощью ICMP API При работе в сети Интернет в некоторых случаях необходимо знать текущее состояние как локального, так и удаленных хостов (имеет ли локальный хост в данный момент возможность выхода в сеть Интеренет, доступен ли некий удаленный хост и т.д.) Общеизвестно, что для указанных целей используется утилита ping. В данной статье описана реализация на Delphi возможностей этой программы с помощью ICMP API. Принцип работы ping-а основан на использовании протокола ICMP - Internet Control Message Protocol (протокол управляющих, или контрольных, сообщений). С помощью ICMP хосты в сети обмениваются различной служебной информацией (информацией о смене маршрута, уменьшении скорости передачи, недоступности какого-либо адреса и т.д.) В основе протокола ICMP лежит понятие сообщений. Сообщения ICMP протокола, как правило, оповещают об ошибках, возникающих при обработке датаграмм.
ICMP использует основные свойства протокола IP, как если бы он являлся протоколом более высокого уровня. На самом же деле ICMP является составной частью IP. Одним из типов сообщений протокола является т.н. Получив 'эхо-запрос' хост обязан ответить пославшему 'эхо-ответом'. По сути, 'эхо-запрос' и 'эхо-ответ' отличаются лишь адресами отправителя и получателя и кодом типа сообщения (тип 8 - 'эхо-запрос', тип 0 - 'эхо-ответ'). Более подробно протокол ICMP описан в RFC792.
Конспекты мсфо дипифр кузьмин. Реализации утилиты ping на различных платформах существенно отличаются. Так, в ОС UNIX используются RAW sockets (необработанные, 'сырые' сокеты), а в ОС Windows всех версий - т.н.
Использование ICMP API оправдано только в ОС Windows NT и 2000, т.к. Для использования RAW sockets в этих ОС необходимы права Администратора. Пежо 308 руководство. Из документации Microsoft: 'Icmp.dll предоставляет возможность разрабатывать приложения, использующие ICMP (ping, traceroute) без использования Winsock. Если разработчик пишет под платформу, поддерживающую Winsock, предпочтительнее использовать механизм Winsock RAW sockets.
Как Писать Резюме
Однако, при написании программ под Windows NT и Windows 2000 следует учитывать, что механизм RAW sockets доступен для использования только членам группы Administrators.Все функции в icmp.dll не рассматриваются как часть Win 32 API и не будут поддерживаться в следующих реализациях'. На практике, во всех 32-разрядных версиях Windows есть и используется библиотека icmp.dll. Так что, на данный момент, можно безбоязненно ее использовать. ICMP API Определения типов и прототипы функций для Microsoft icmp.dll: type ipoptioninformation = packed record // Информация заголовка IP (Наполнение // этой структуры и формат полей описан в RFC791. Ttl: byte; // Время жизни (используется traceroute-ом) Tos: byte; // Тип обслуживания, обычно 0 Flags: byte; // Флаги заголовка IP, обычно 0 OptionsSize: byte; // Размер данных в заголовке, обычно 0, максимум 40 OptionsData: Pointer; // Указатель на данные end; icmpechoreply = packed record Address: ulong; // Адрес отвечающего Status: ulong; // IPSTATUS (см.