精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Delphi 网络编程>>解析IP地址为主机域名。

主题:解析IP地址为主机域名。
发信人: teleme(PassWord)
整理人: teleme(2001-02-16 21:11:05), 站内信件

使用 WinSock 单元; 
过程如下: 
  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 
    begin 
      result:=StrPas(Hostent^.h_name) 
    end 
    else 
    begin 
      result:=''; 
    end; 
  end; 


测试时请在在线状态。 

测试代码: 
var 
  Name: string; 
begin 
  Name := InputBox('输入对方主机IP', '主机IP地址:', ''); 
  showmessage(IpAddrToName(Name)); 

end; 
作者:Latfi Baran 
   
 翻译者 : laza 
 出处: http://www.delphi3000.com/articles/article_1664.asp   
 

[关闭][返回]