主机名与规范主机名

时间:2012-10-01 07:29:33

标签: java ip-address hostname inetaddress canonical-name

有人可以解释一下主机名和Canonical Host Name之间的区别吗?

我目前正在使用InetAddress类使用IP地址获取主机名。我遇到了这两个API。 所以我只是想知道,我应该选择哪一个?

1 个答案:

答案 0 :(得分:26)

两者之间存在一些差异:

  • getCanonicalHostName()会尝试解析FQDN。因此,您将获得 foo.mycompany.com ,而getHostName()可能只返回 foo

  • getCanonicalHostName()将始终执行反向DNS查找,而getHostName()将返回存储的主机名,如果您在InetAddress构造函数中提供了主机名。

如果您打算将IP地址映射到主机名,我怀疑您会想要使用getCanonicalHostName()