PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как получить имя хоста/компьютера по известному IP?


Как получить имя хоста/компьютера по известному IP?

Сообщений 1 страница 2 из 2

1

Как получить имя хоста/компьютера по известному IP?

Например
получили
IP = GetClientIP(Client)

как теперь по IP получить имя компа?

0

2

Код:
InitNetwork()

;Узнать имя компа в сети по IP адресу.
Procedure.s GetHostNameByIP(ip$) 
  Protected wsa.WSAData, *host.hostent
  Protected Count, *Mem
  *host = 0
  If ip$<>""
    Count = StringByteLength(ip$, #PB_Ascii)
    If Count>0
      *Mem = AllocateMemory(Count+4)
      If *Mem
        FillMemory(*Mem, Count+4, 0, #PB_Byte)
        PokeS(*Mem, ip$, -1, #PB_Ascii)
        ipaddr=inet_addr_(*Mem)
        If ipaddr<>#INADDR_NONE And ipaddr<>#INADDR_ANY And ipaddr<>0
          *host=gethostbyaddr_(@ipaddr,4,#AF_INET)
        EndIf
        FreeMemory(*Mem)
      EndIf
    EndIf
  EndIf
  If *host 
    ProcedureReturn PeekS(*host\h_name, -1, #PB_Ascii) 
  Else 
    ProcedureReturn "" ;ip$ 
  EndIf 
EndProcedure

IP = GetClientIP(Client)
IP$ = IPString(IP)
Debug GetHostNameByIP(IP$)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как получить имя хоста/компьютера по известному IP?