我如何从C中的IPv4地址获取主机名? [英] How can I get a hostname from an IPv4 address in C?
问题描述
我需要一个简单的函数,输出 char * hostname
,给定一个 char * IPAddress
。任何想法或提示?
另外,从主机名获取IP地址的最简单方法是 gethostbyname()
和 inet_ntoa()
是否正确? 使用 gethostbyaddr()
或 getnameinfo()
将IP转换为主机名。
使用 gethostbyname()
或 getaddrinfo()
将主机名转换为IP。 b
$ b
gethostby ...()
仅支持IPv4。 get ... info()
支持包括IPv4和IPv6在内的多种协议,并且是新开发的首选功能。
I need a simple function that outputs a char* hostname
, given a char* IPAddress
. Any ideas or hints?
Also, is easiest way to get the IP address from a hostname is gethostbyname()
and inet_ntoa()
is that correct?
Use gethostbyaddr()
or getnameinfo()
to convert an IP into a hostname.
Use gethostbyname()
or getaddrinfo()
to convert a hostname into an IP.
gethostby...()
only support IPv4. get...info()
support multiple protocols including both IPv4 and IPv6, and are the preferred functions for new development.
这篇关于我如何从C中的IPv4地址获取主机名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!