主机名与规范主机名

Ary*_*yan 25 java ip-address hostname canonical-name inetaddress

任何人都可以解释一下主机名和Canonical主机名之间的区别吗?

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

Dun*_*nes 29

两者之间有一些区别:

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

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

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