我要用hub连接多台终端,如何获得终端的ip和计算机名,一位不同机器分配不同权限? 请给出这两个函数的具体小例。多谢!!!

解决方案 »

  1.   

    gethostbynam,得到名称后有关的信息,比如IP 也就可以得到啦
    StrPas(inet_ntoa(PInAddr(phoste^.h_addr_list^)^));
      

  2.   

    iphlper api可以帮助你完成任务。
      

  3.   

    uses {...,}Winsock;procedure ShowHostName;
    var
      wVersionRequested : WORD;
      wsaData : TWSAData;
      p : PHostEnt;
      s : array[0..128] of char;
      p2 : pchar;
    begin
    {启动 WinSock}
      wVersionRequested := MAKEWORD(1, 1);
      WSAStartup(wVersionRequested, wsaData);{计算机名}
      GetHostName(@s, 128);
      p := GetHostByName(@s);
      ShowMessage(Format('Computer name is ''%s''.', [p^.h_Name]));{IP地址}
      p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
      ShowMessage(Format('IP address is %s.',[p2]));WSACleanup;
    end;
      

  4.   

    客户端有程序吧?客户端程序可以调用getcomputename,gethostbyname,再把信息传给服务端可以吧!