如何从C中的IPv4地址获取主机名?

我需要一个简单的函数,在给定char* IPAddress输出char* hostname 。 任何想法或提示?

另外,从主机名获取IP地址的最简单方法是gethostbyname()inet_ntoa()是正确的吗?

您需要的所有信息都在优秀的Beej网络编程指南中 。 与您的问题相关的页面在这里 。

如果在阅读之后,您仍然遇到问题,请在此处发布有关特定问题的问题。

使用gethostbyaddr()getnameinfo()将IP转换为主机名。

使用gethostbyname()getaddrinfo()将主机名转换为IP。

gethostby...()仅支持IPv4。 get...info()支持包括IPv4和IPv6在内的多种协议,是新开发的首选function。

  1. 要从地址获取主机名,通常使用(此处大惊喜) gethostbyaddr()

  2. 应该是。