Как получить имя хоста/компьютера по известному IP?
Например
получили
IP = GetClientIP(Client)
как теперь по IP получить имя компа?
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как получить имя хоста/компьютера по известному IP?
Как получить имя хоста/компьютера по известному IP?
Например
получили
IP = GetClientIP(Client)
как теперь по IP получить имя компа?
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$)Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как получить имя хоста/компьютера по известному IP?