一尘不染

主机名与规范主机名

java

谁能解释一下主机名和规范主机名之间的区别?

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


阅读 656

收藏
2020-12-03

共1个答案

一尘不染

两者之间有一些区别:

  • getCanonicalHostName()将尝试解析FQDN。因此,您将获得 _foo.mycompany.comgetHostName()可能仅返回 _foo

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

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

2020-12-03