Форум: "Сети";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизКак оптимизировать Ресолв ДНС Найти похожие ветки
← →
Dunmer (2003-11-10 14:23) [0]У меня есть такая функция которая постоянно ресолвит ДНС, но дело в том что она тормозит работу всей проги, т.к. вызывается очень часто. Как ее оптимизировать что бы она быстрее работала(уж очень она медленно ресолвит 600 записей, если учитывать что у меня выделенный канал 2 Мбит) и что бы она не подвисала работу всей моей проги...
Особенно тормозит когда не может отресолвить(т.е. пытается отресолвить не существующий сайт)...
Вот собственно сама функция
Function HostToIP(Name: string; var Ip: string): Boolean;
var
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
{/}try
GetHostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
HostEnt := gethostbyname (hostName);
{***}if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then
{**} begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then
{*} begin
IP := Format ("%d.%d.%d.%d", [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
{*} end
else
Result := False;
{**} end
else
Result := False
{***}else
Result := False;
finally
begin
{Nothing to do}
end;
{/}end;
end;
← →
Карелин Артем (2003-11-10 14:50) [1]В поток засунь отдельный. в крайнем случае еще и приоритет понизь.
← →
Dunmer (2003-11-10 15:17) [2]Окей, сеньк.
Пошел разбиратся
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.011 c