Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Время задержки (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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.042 c
9-1121918797
Trof
2005-07-21 08:06
2006.02.12
ODE и Freeform


15-1138081621
DimonS
2006-01-24 08:47
2006.02.12
Подскажите, кто знает.


11-1119341023
RA
2005-06-21 12:03
2006.02.12
Обработка сообщений в Graph-контролах


15-1137777591
Андрей К
2006-01-20 20:19
2006.02.12
Воторое высшие


2-1138181801
Ell
2006-01-25 12:36
2006.02.12
Часть строковой переменной





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский