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

时间:2012-04-10 03:31:48

标签: c function ip-address hostname ipv4

我需要一个简单的函数,在给定char* hostname的情况下输出char* IPAddress。有什么想法或提示吗?

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

3 个答案:

答案 0 :(得分:4)

您需要的所有信息都在优秀的Beej's Guide to Network Programming中。与您的问题相关的网页是here

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

答案 1 :(得分:4)

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

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

gethostby...()仅支持IPv4。 get...info()支持多种协议,包括IPv4和IPv6,并且是新开发的首选功能。

答案 2 :(得分:2)

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

  2. 是的,可能。