39

Can anyone please explain me the difference between Host Name and Canonical Host Name?

I am currently using InetAddress class to fetch host name using the IP Address. I came across these 2 APIs. So I am just wondering, which one I should opt for?

cHao
  • 84,970
  • 20
  • 145
  • 172
Aryan
  • 1,767
  • 2
  • 22
  • 39

1 Answers1

39

There are a few difference between the two:

  • getCanonicalHostName() will attempt to resolve the FQDN. Therefore, you would get foo.mycompany.com whereas getHostName() might just return foo.

  • getCanonicalHostName() will always do a reverse DNS lookup, whereas getHostName() would return the stored hostname if you supplied one in the InetAddress constructor.

I suspect you will be wanting to use getCanonicalHostName() if you are intending to map IP addresses to host names.

Duncan Jones
  • 67,400
  • 29
  • 193
  • 254