Вверх ↑
Ответов: 4622
Рейтинг: 746
#1: 2016-01-21 12:03:10 ЛС | профиль | цитата
Проверил. Задержка всегда примерно одинаковая во всех попытках для разных сайтов. Поэтому проблема не в компоненте, а в твоём интернете.
г. Юзер писал(а):
Если указать очень низкий таймаут (например, 1 мс), элемент будет ждать ответа сервера всё равно куда дольше указанного
Все подобные таймауты в системе имеют определенную точность, поэтому разницы между таймаутом 1 и 30, или 1000 и 1020 нет.
Но время, которое получается в результате команды ping имеет другую природу (измеряется где-то на уровне сетевого интерфейса и его драйверов), поэтому показатель пинга более точный.

Схему можно так сделать:
Add(MainForm,2953706,14,112)
{
Width=250
Height=180
Color=15793151
Font=[Tahoma,8,0,0,1]
Caption="Пингомер"
BorderStyle=4
Position=1
}
Add(Edit,8392031,147,63)
{
Left=60
Top=40
Color=15793151
Font=[Tahoma,10,0,0,1]
Text="32"
Alignment=2
DataType=1
MaxLenField=6
ClearAfterEnter=1
}
Add(Edit,4303247,196,63)
{
Left=130
Top=40
Color=15793151
Font=[Tahoma,10,0,0,1]
Text="1000"
Alignment=2
DataType=1
MaxLenField=10
ClearAfterEnter=1
}
Add(Ping,12335572,98,168)
{
Name=""
ByteCount=0
TimeOut=0
Point(ByteCount)
Point(Time)
link(onFind,7637930:doString,[(220,174)(220,231)(79,231)(79,258)])
link(onFailed,16515319:doMessage,[])
link(Name,3199038:Text,[])
link(ByteCountIn,8392031:Text,[(111,125)(153,125)])
link(TimeOutIn,4303247:Text,[(118,141)(202,141)])
}
Add(Button,16051153,56,168)
{
Left=95
Top=65
Height=25
Font=[Tahoma,10,1,0,1]
Caption="ПИНГ"
link(onClick,12335572:doPing,[])
}
Add(Label,2644215,168,252)
{
Left=3
Top=95
Width=240
Height=60
Color=15793151
Font=[Tahoma,10,1,0,1]
Caption="IP\r\nБайт\r\nЗадержка\r\n"
AutoSize=1
Alignment=2
}
Add(Edit,3199038,98,63)
{
Width=244
Height=25
Align=2
Color=0
Font=[Tahoma,10,0,65535,1]
Name="Адрес"
Text="hiasm.net"
Alignment=2
MaxLenField=1000
ClearAfterEnter=1
}
Add(Message,16515319,161,175)
{
Caption="Ошибка"
Icon=3
}
Add(Label,15041900,98,28)
{
Left=60
Top=25
Width=43
Height=12
Color=15793151
Font=[Tahoma,8,0,0,1]
Caption="Размер:"
}
Add(Label,9752276,196,28)
{
Left=130
Top=25
Height=12
Color=15793151
Font=[Tahoma,8,0,0,1]
Caption="Таймаут:"
}
Add(FormatStr,7637930,91,252)
{
DataCount=3
Mask="IP: %1\r\nБайт: %2\r\nЗадержка: %3"
link(onFString,2644215:doText,[])
link(Str2,12335572:ByteCount,[])
link(Str3,12335572:Time,[])
}

Можешь внести следующие изменения:

#pas
....
(*pHostEn := gethostbyname(pchar(ReadString(_Data,_data_Name,_prop_Name)));
if (GetLastError <> 0) then
begin
_hi_OnEvent(_event_onFailed,2);
goto error;
end;
destAddress := PInAddr(pHostEn^.h_addr_list^)^;*)
destAddress.S_addr := inet_addr(PChar(ReadString(_Data,_data_Name,_prop_Name)));
....
Подай на точку Name не имя сайта, а IP и проверь что изменится.
карма: 26

0