Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2010, 00:02   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Как узнать пинг до сайта?

Как узнать пинг до сайта?
TwiX вне форума Ответить с цитированием
Старый 14.02.2010, 01:05   #2
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Узнать сервер, на котором сайт, и вот: http://speedtest.net/
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 14.02.2010, 03:13   #3
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,454
По умолчанию

Пуск-> выполнить->ping сайт.ru без http://
uberchel вне форума Ответить с цитированием
Старый 14.02.2010, 03:52   #4
-MagicAlex-
Пользователь
 
Аватар для -MagicAlex-
 
Регистрация: 28.12.2009
Сообщений: 42
По умолчанию

Если на Делфи надо написать утилиту пинга, то изучайте функцию IcmpSendEcho() из библиотеки ICMP.DLL
-MagicAlex- вне форума Ответить с цитированием
Старый 14.02.2010, 11:12   #5
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

TwiX, Писал программу для настройки dsl-модемов ZyXel, там проверялось соединение именно пингом с девайсов, исходник прикрепляю. Реализовано через icmp
Время отклика, которое необходимо - закомментировано) Вообщем, разберетесь
Вложения
Тип файла: zip ZyXel.zip (19.9 Кб, 78 просмотров)
Denager вне форума Ответить с цитированием
Старый 14.02.2010, 16:50   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Спасибо.
Но есть одна ошибочка...
Цитата:
[DCC Error] Unit1.pas(28): E2065 Unsatisfied forward or external declaration: 'inet_addr'
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, icmp;



type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;



var
  Form1: TForm1;

Procedure Ping(const Address, EchoString: PChar;var PingReply: TsmICMP_Echo_Reply;
const PingTimeout: Integer = 500);
Function inet_addr (IPAddress: PChar): TipAddr; StdCall;


implementation

{$R *.dfm}


procedure Ping(const Address, EchoString: PChar;
  var PingReply: TsmICMP_Echo_Reply; const PingTimeout: Integer = 500);
var
  IPAddress: TipAddr;
  ICMPPort: THandle;
begin
  //IPAddress := inet_addr(Address);
  if (IPAddress = -1) then
  begin
    raise Exception.Create('Function call inet_addr failed. ' +
        'The IP address is probably invalid.');
  end;
  ICMPPort := IcmpCreateFile();
  if (ICMPPort = INVALID_HANDLE_VALUE) then
  begin
    raise Exception.Create('Function call IcmpCreateFile failed.');
  end;
  IcmpSendEcho(ICMPPort, IPAddress, EchoString, Length(EchoString), nil,
    @PingReply, SizeOf(PingReply), PingTimeout);
  IcmpCloseHandle(ICMPPort);
end;




procedure TForm1.Button1Click(Sender: TObject);
var
  Reply:TsmICMP_Echo_Reply;
begin
    Ping (PChar('192.168.1.1'),nil,Reply,5000);
      if Reply.Status=0 then
        Form1.caption:='[Modem Connected]' else
          Form1.caption:='[Modem Not Connected]';
          {Ниже ответ сервера и если удачнй - то время в мс}
        //MainForm.memo1.Lines.Add(PingStatusToStr(Reply.Status)+' '+MainForm.PingEdit.Text+' = '+IntToStr(Reply.RoundTripTime)+'мс')
          //else MainForm.memo1.Lines.Add(PingStatusToStr(Reply.Status));
    //Sleep(1000);
end;

end.
TwiX вне форума Ответить с цитированием
Старый 14.02.2010, 17:56   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

смотрю пример с одной и той-же "невнимательностью" кочует от исходника к исходнику...
Код:
 function inet_addr(IPAddress: PChar): TipAddr; StdCall;external 'WSock32.Dll';
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.02.2010, 18:10   #8
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Спасибо, помогло)
Жалко что адреса типа www.**.ru нельзя проверить...
TwiX вне форума Ответить с цитированием
Старый 14.02.2010, 19:10   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

можно... смотрим в генофонд winsock и находим...
Код:
function gethostbyname;     external    winsocket name 'gethostbyname';

...
использование
ip := gethostbyname('www.mail.ru');
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.02.2010, 09:13   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Indy idicmpclient ....
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать title сайта? zver777 Работа с сетью в Delphi 1 05.01.2010 20:20
Как вынести пинг через IdIcmpClient в отдельный поток ? ewgenw Помощь студентам 1 11.05.2009 16:42
Как узнать количество скачиваний файла с сайта? Dux PHP 34 02.02.2009 00:28
реализовать в локалке пинг флуд Небесный Работа с сетью в Delphi 15 02.11.2007 04:07