【发布时间】:2012-09-22 01:18:15
【问题描述】:
谁能解释一下主机名和规范主机名之间的区别?
我目前正在使用 InetAddress 类来获取使用 IP 地址的主机名。我遇到了这两个 API。 所以我只是想知道,我应该选择哪一个?
【问题讨论】:
标签: java ip-address hostname inetaddress canonical-name
谁能解释一下主机名和规范主机名之间的区别?
我目前正在使用 InetAddress 类来获取使用 IP 地址的主机名。我遇到了这两个 API。 所以我只是想知道,我应该选择哪一个?
【问题讨论】:
标签: java ip-address hostname inetaddress canonical-name
两者有一些区别:
getCanonicalHostName() 将尝试解析FQDN。因此,您会得到 foo.mycompany.com 而getHostName() 可能只会返回 foo。
getCanonicalHostName() 将始终执行反向 DNS 查找,而如果您在 InetAddress 构造函数中提供了一个,getHostName() 将返回存储的主机名。
如果您打算将 IP 地址映射到主机名,我怀疑您会想要使用 getCanonicalHostName()。
【讨论】: