Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Время задержки (ping) [D7, XP]


Vetalich ©   (2005-11-03 14:46:00) 

Доброго времени суток...
Тут возникла вот такая проблема:
Когда пингуешь какой нить IP, если он есть (или компьютер включен), то состояние отображаеться быстро, а если нет идёт долгая задержка...
так вот как сделать эту задержку меньше или убрать вообще?
т.е если компьютер не отвечает сразу выдавать ответ, а не ждать это время...

Код используемый для пинга:


function IPAddrToName(IPAddr: string): string;
var
 SockAddrIn: TSockAddrIn;
 HostEnt: PHostEnt;
 WSAData: TWSAData;
 Retorno :integer;
begin
Retorno:=WSAStartup($101, WSAData);
if (Retorno <> 0) then
begin
Application.MessageBox('Can*t Load WinSockets','WSAStartup', MB_OK);
WSACleanup();
exit;
end;

SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt = nil then
begin
Form1.Label7.caption := 'off-line';
exit;
end
else
begin
Form1.Label7.caption := 'on-line';
end;
Result := StrPas(Hostent^.h_name)
end;


Digitman   (2005-11-03 15:54:00) [1]


> как она работает?


написано в той же справке, где написано и про gethostbyaddr()


> где она находится?


в ws2_32.dll


Vetalich   (2005-11-03 15:12:00) [2]

а как она работает?
и где она находится?


Digitman   (2005-11-03 15:02:00) [3]

см. WSAAsyncGetHostByAddr()


Наверх

Титульная страница Поиск, карта сайта Написать письмо