Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Время задержки (ping)   Найти похожие ветки 

 
Vetalich ©   (2005-11-03 15:37) [0]

Доброго времени суток...
Тут возникла вот такая проблема:
Когда пингуешь какой нить 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:42) [1]

вместо синхронной блокирующей ф-ции gethostbyaddr() использовать ее асинхронную неблокирующую версию в виде ф-ции WSAAsyncgethostbyaddr


 
Vetalich ©   (2005-11-03 15:58) [2]

Digitman, а можешь переделать мой код под эту функцию... пожалйста...
ведь простой заменой тут не обойдёшся...


 
Digitman ©   (2005-11-03 16:09) [3]


> Vetalich ©   (03.11.05 15:58) [2]


http://www.delphikingdom.com/asp/answer.asp?IDAnswer=30878

а эта ф-ция у тебя откуда взялась ?

надо понимать, не сам писал, а содрал откуда-то бездумно ?)


 
Vetalich ©   (2005-11-03 16:26) [4]


> а эта ф-ция у тебя откуда взялась ?
>
> надо понимать, не сам писал, а содрал откуда-то бездумно
> ?)

да нет не сдирал... друган подогнал...
я б у него спросил но он уехал...


> http://www.delphikingdom.com/asp/answer.asp?IDAnswer=30878

если честно я там ничего не понял... :)

а всётаки поможешь или нет?
мне от delphi надо то всего эту программу сделать и всё...
а его я не открывал уже более года...


 
Digitman ©   (2005-11-03 16:30) [5]


> а всётаки поможешь или нет?


т.е. написать за тебя программу ?


 
Vetalich ©   (2005-11-03 16:33) [6]

нет... вставить функцию WSAAsyncgethostbyaddr в мой код...


 
Digitman ©   (2005-11-03 16:46) [7]

это потребует полной переделки кода ... причем не твоего, как выяснилось) .. что, собственно, и есть ничто иное как "написать за тебя программу"

не стыдно ?


> если честно я там ничего не понял


ну и что толку, что я напишу тебе свой вариант использования ф-ции ?

при таком подходе в нем ты тоже нишута не поймешь)

лучше займись изучением справки к ф-ции ...

а что тебе там будет непонятно - милости просим : по каждому непонятному моменту ты получишь необходимые комментарии

либо, если не устраивает, лезь в Гугль и ищи то что тебе будет "понятно" - из Гугля же и я дал тебе ссылку на первый попавшийся пример ... а таких примеров там - море) ... авось в каком-нибудь да что-нибудь "поймешь" ...

ну а с "нахаляву"-подходом в программировании ты недолго продержишься)



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
2-1138282879
zhechkov
2006-01-26 16:41
2006.02.12
Список файлов


8-1125511130
Galiaf
2005-08-31 21:58
2006.02.12
Глубина в OpenGl.


2-1138258820
tigra
2006-01-26 10:00
2006.02.12
StringGrid


2-1138270311
Alex7
2006-01-26 13:11
2006.02.12
Функция Locate


1-1136730616
Glex
2006-01-08 17:30
2006.02.12
Форма с прозрачностями в CLX?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский