我需要一个简单的函数,输出char* hostname
,给定char* IPAddress
。任何想法或提示?如何从C中的IPv4地址获取主机名?
另外,从主机名获取IP地址的最简单方法是gethostbyname()
和inet_ntoa()
是否正确?
我需要一个简单的函数,输出char* hostname
,给定char* IPAddress
。任何想法或提示?如何从C中的IPv4地址获取主机名?
另外,从主机名获取IP地址的最简单方法是gethostbyname()
和inet_ntoa()
是否正确?
所有你需要的信息都在优秀的Beej's Guide to Network Programming。与您的问题相关的页面是here。
如果在阅读完本文后,您仍然遇到问题,请在这里发布有关特定问题的问题。
我会看看它。谢谢。 – user884685 2012-04-10 03:56:19
使用gethostbyaddr()
或getnameinfo()
将IP转换为主机名。
使用gethostbyname()
或getaddrinfo()
将主机名转换为IP。
gethostby...()
只支持IPv4。 get...info()
支持多种协议,包括IPv4和IPv6,并且是新开发的首选功能。
要从地址获取主机名称,您通常使用(这里很大的惊喜)gethostbyaddr()
。
是的,可能。
请注意,'inet_ntoa()'只能在内存中从'sockaddr'结构转换为数字符号形式的字符串。不支持域名。 – 2016-11-04 17:31:25