我如何从C中的IPv4地址获取主机名? [英] How can I get a hostname from an IPv4 address in C?

查看:279
本文介绍了我如何从C中的IPv4地址获取主机名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个简单的函数,输出 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆