gethostbyaddr,具体察看WinSDK的帮助吧

解决方案 »

  1.   

    给你一个函数:
    uses 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;
      

  2.   

    给你一个函数:
    uses 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;
      

  3.   

    解析IP地址为主机域名。使用 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