2015-06-11 68 views
0

我有一個支持IPv4和IPv6的雙棧Linux機器。 現在我的查詢是當我試圖調用InetAddress.getLocalHost()它總是給我IPv4。如何從InetAddress.getLocalHost()獲得IPv6

我可以在InetAddress.getLocalHost()響應中同時使用IPv4和IPv6。 如果不是那麼我將如何從InetAddress.getLocalHost()獲得IPv6地址。

+0

請參閱:http://stackoverflow.com/questions/11974232/return-ipv6-in-java – Rafiq

回答

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)指示的鏈接使用的代碼,然後使用功能getIPv6Addresses由@Rafiq(Return IPv6 in Java)表示該鏈接僅獲得IPv6地址。

我希望它有幫助。