Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ping средствами Дельфей 
:(
    Опции темы
Jey_k
Дата 3.2.2005, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Полезная весчь. Например для программки мониторинга работоспособности компов в офисе и удаленнных хостов, можно целую базу с графиками забабахать.
Стоит лишь взять за основу компонент Indy IdICMPClient и заюзать:
Код

unit Main;

interface

uses
 Windows, Messages, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
 SysUtils, Classes, IdIcmpClient, IdBaseComponent, IdComponent, IdRawBase, IdRawClient;


type
 TfrmPing = class(TForm)
   lstReplies: TListBox;
   ICMP: TIdIcmpClient;
   Panel1: TPanel;
   btnPing: TButton;
   edtHost: TEdit;
   procedure btnPingClick(Sender: TObject);
   procedure ICMPReply(ASender: TComponent; const ReplyStatus: TReplyStatus);
 private
 public
 end;

var
 frmPing: TfrmPing;

implementation
{$R *.DFM}

procedure TfrmPing.btnPingClick(Sender: TObject);
var
 i: integer;
begin
 ICMP.OnReply := ICMPReply;
 ICMP.ReceiveTimeout := 1000;
 btnPing.Enabled := False; try
   ICMP.Host := edtHost.Text;
   for i := 1 to 4 do begin
     ICMP.Ping;
     Application.ProcessMessages;
     //Sleep(1000);
   end;
 finally btnPing.Enabled := True; end;
end;

procedure TfrmPing.ICMPReply(ASender: TComponent; const ReplyStatus: TReplyStatus);
var
 sTime: string;
begin
 // TODO: check for error on ping reply (ReplyStatus.MsgType?)
 if (ReplyStatus.MsRoundTripTime = 0) then
   sTime := '<1'
 else
   sTime := '=';

 lstReplies.Items.Add(Format('%d bytes from %s: icmp_seq=%d ttl=%d time%s%d ms',
   [ReplyStatus.BytesReceived,
   ReplyStatus.FromIpAddress,
   ReplyStatus.SequenceId,
   ReplyStatus.TimeToLive,
   sTime,
   ReplyStatus.MsRoundTripTime]));
end;

end.


Это сообщение отредактировал(а) Jey_k - 3.2.2005, 11:56


--------------------
PM MAIL WWW   Вверх
RA
Дата 4.2.2005, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Ради такого пустяка как пинг использовать Indy smile .

ЗЫ:
Лично меня никто и ничто не заставит использовать эти компоненты.
PM   Вверх
Jey_k
Дата 5.2.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Цитата(RAdmin @ 4.2.2005, 22:21)
Лично меня никто и ничто не заставит использовать эти компоненты.

Если не секрет. Почему такое недоверие этим компонентам?
По причине отсутствия литературы? Дык там все и без нее понятно smile
А как ты пинг делаешь другим способом? Листинг приветствуется smile


--------------------
PM MAIL WWW   Вверх
RA
Дата 5.2.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Отсутвие литературы к компонентам меня уже давно не смущает smile

Недоверие smile я бы не сказал, просто не пользуюсь ими, нахожу альтернативу, скорее по причине размеров приложения.

Ксати помню кто-то из создатей библиотеки KOL писал что инди глючные.

Вообще почти всё что связанно с сокетами можно решать без VCL, это не сложно.

К примеру тотже пинг:
http://www.codenet.ru/progr/delphi/stat/ping.php
PM   Вверх
Jey_k
Дата 8.2.2005, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



RAdmin
Цитата
У данного примера есть один недостаток - программа не воспримет доменное имя, только IP-адресс.



--------------------
PM MAIL WWW   Вверх
RA
Дата 8.2.2005, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



Jey_k smile Ну это не проблема, преобразовать домен в IP.
PM   Вверх
Guest
Дата 10.2.2005, 12:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А на какой Delphi это работает? У меня v6 но не хотит... smile
  Вверх
Guest
Дата 10.2.2005, 13:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нет, это я ступил... smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.