两台modem进行远程拨号互连,比如一台win98拨入win2000,请问win98客户端如何获取win2000的ip地址?(在线等待)

解决方案 »

  1.   

    windows客户端拨号拨通之后,把本机的IP地址等信息发给Win2000服务器端,然后由服务器端进行解析。
    或是你Ping win98的计算机名,获取IP地址
      

  2.   

    ip地址是动态分配的,win98客户也不知道win2000服务器的机器名,如何用程序获得win2000的ip地址,有一点可以肯定98和2000的在同一个ip网段,如果用扫描的方法98可以获得2000的ip地址,但是否有更简单的方法呢?
      

  3.   

    以前写过一个,不过找不到了,从别的地方给你拷贝一个,你参考下。
    var
      WSData: TWSAData;
      Buffer: array[0..63] of Char;
      HostEnt: PHostEnt;
      PPInAddr: ^PInAddr;  LocalIP: DWord;
      IPString: String;//取本机IP地址
    procedure GetIP;
    begin
      LocalIP:=0;
      IPString:='';
      try
        WSAStartUp($101, WSData);
        GetHostName(Buffer, SizeOf(Buffer));
        HostEnt:=GetHostByName(Buffer);
        if Assigned(HostEnt) then
        begin
          PPInAddr:=@(PInAddr(HostEnt.H_Addr_List^));
          while Assigned(PPInAddr^) do
          begin
            IPString:=StrPas(INet_NToA(PPInAddr^^));
            LocalIP:=PPInAddr^^.S_Addr;
            Inc(PPInAddr);
          end;
        end;
      finally
        try
          WSACleanUp;
        except
        end;
      end;
    end;//取本机IP地址,返回4字节格式
    function GetIPAddress: DWORD;
    begin
      GetIP;
      Result := LocalIP;
    end;
    //取本机IP地址,返回点分隔字符串格式
    function GetLocalIP: String;
    begin
      GetIP;
      Result := IPString;
    end;