![]() |
|
|
#1
|
||||
|
||||
|
Возникла необходимость пропинговать некоторые серверы на определенном порте. Сейчас юзаю код как во вложении, но он всегда возвращает ошибку. К тому же не работает преобразование некоторых хостов (например 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; |
|
#2
|
|||
|
|||
|
Тупо возми L2informer и подобные. Не создавай сам то что уже есть.
|
|
#3
|
||||
|
||||
|
Во-первых, это не для линейки. Во-вторых, это первый лаунчер для WotLK, да еще с автозаполнением и пингом.
|