4
我使用下面的代碼,結果是正確的,但gethostbyaddr
大約需要30秒。gethostbyaddr太慢
function IPAddrToName(IPAddr: string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt <> nil then
Result := StrPas(Hostent^.h_name)
else
Result := '';
end;
問候 艾倫
這通常是一個DNS問題。 – sje397 2010-08-10 07:35:52
通常情況,是的,但是直到我們從代碼中獲得時間後,我們才肯定知道。否則,我會馬上將它推到SU上。 – paxdiablo 2010-08-10 07:42:30
比較'nslookup'和這個調用,看它是否有很大的不同。如果沒有,那肯定是一個DNS問題。 – 2010-08-15 13:30:44