2013-09-09 2 views
5

Я пытаюсь протестировать java-программу для поддержки IPv6 в своей локальной системе с ОС Windows 7. Я назначил IPv6-адрес и отключил IPv4 в Network Connection.Поддержка IPv6 в Java

Когда я выполняю команду ipconfig, я получаю адрес IPv6 в качестве вывода.

Однако, когда я исполняю ниже кода Java я получаю 127.0.0.1 который является адресом IPv4

System.setProperty("java.net.preferIPv6Stack","true"); 

InetAddress addr = InetAddress.getLocalHost(); 
System.out.println(addr.getHostAddress()); 

согласно моему пониманию выше код должен печатать 0:0:0:0:0:0:0:1.

Я что-то пропустил?

+2

Проблема решена. Я устанавливал неправильное свойство System. Правильное свойство - 'System.setProperty (« java.net.preferIPv6Addresses »,« true »)' – Vinod

+0

Является ли ваш вопрос самим решением? – lulyon

+0

Когда я задал вопрос, я не знал о решении. – Vinod

ответ

6

Проблема решена. Я устанавливал неправильное свойство System. Правильная система собственности, которая должна быть установлена ​​в

System.setProperty("java.net.preferIPv6Addresses","true") 

После установки этого свойства будет отображаться адрес IPv6 назначается в сети связи.

Адрес петли IPv6 может быть восстановлен с использованием кода ниже.

InetAddress.getLoopbackAddress().getHostAddress()