在DELPHI中怎样实现通过域名得到IP地址?

解决方案 »

  1.   

    function GetIPFromHost(const Name: string): string;
    var
      wsdata: TWSAData;
      hostName: array[0..255] of char;
      hostEnt: PHostEnt;
      addr: PChar;
    begin
      WSAStartup($0101, wsdata);
      try
        gethostname(hostName, sizeof(hostName));
        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
              Result := Format('%d.%d.%d.%d', [byte(addr[0]),
                byte(addr[1]), byte(addr[2]), byte(addr[3])]);
            end
            else
              Result := '';
          end
          else
            Result := ''
        else
        begin
          Result := '';
        end;
      finally
        WSACleanup;
      end
    end;
      

  2.   

    wsdata: TWSAData;
    hostEnt: PHostEnt;
    gethostname
    WSACleanup
    这些是在那个单元申名的?
      

  3.   

    来晚了http://expert.csdn.net/Expert/TopicView1.asp?id=1989338