如何从InetAddress.getLocalHost()获取IPv6

时间:2015-06-11 09:56:04

标签: java linux networking network-programming

我有一台支持IPv4和IPv6的双栈Linux机器。 现在我的查询是当我试图调用InetAddress.getLocalHost()它总是给我IPv4。

我可以在InetAddress.getLocalHost()响应中同时拥有IPv4和IPv6。 如果没有,那么我将如何从InetAddress.getLocalHost()获得IPv6地址。

1 个答案:

答案 0 :(得分:0)

我在这里回答了类似的问题:How to fetch both IPv4 and IPv6 on dual stack OS

在Linux中,InetAddress.getLocalHost()将查找主机名,然后返回通过DNS分配给该主机名的第一个IP地址。如果文件/ etc / hosts中有该主机名,它将获得该文件中该主机名的第一个IP地址。

您可以使用指示链接(How to fetch both IPv4 and IPv6 on dual stack OS)中的代码,然后在@Rafiq(Return IPv6 in Java)指示的链接中使用函数getIPv6Addresses来获取IPv6地址。

我希望它有所帮助。