Показать сообщение отдельно
  #1  
Старый 14.03.2009, 13:41
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию Проблемы с пингом

Возникла необходимость пропинговать некоторые серверы на определенном порте. Сейчас юзаю код как во вложении, но он всегда возвращает ошибку. К тому же не работает преобразование некоторых хостов (например eu.logon.worldofwarcraft.com) в ip:
Код:
uses ..., winsock;
...
function HostToIP(Name: string; var Ip: string): Boolean; 
var 
  wsdata : TWSAData; 
  hostName : PAnsiChar;
  hostEnt : PHostEnt; 
  addr : PAnsiChar;
begin 
  WSAStartup ($0101, wsdata); 
  try 
    getmem(hostName, sizeof(Name));
    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 begin 
      Result := False; 
    end; 
  finally 
    WSACleanup; 
  end 
end;
Так вот..как мне все это исправить? З.Ы. Delphi 2009
Вложения
Тип файла: rar ping_proc.rar (2.0 Кбайт, 2 просмотров)
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием