Java Multicast Time To Live всегда 0 - PullRequest
8 голосов
/ 26 сентября 2008

У меня проблема с настройкой TTL в моих пакетах дейтаграмм. Я вызываю метод setTTL (...) для пакета перед отправкой пакета в multicastSocket, но если я перехватываю пакет с помощью ethereal, поле TTL всегда устанавливается в 0

Ответы [ 2 ]

6 голосов
/ 26 сентября 2008

Забавно, что вы должны спросить об этом, потому что я просто написал об этом вчера , у меня была такая же проблема около 6 месяцев назад. По сути, вы должны установить специальное системное свойство, указывающее JVM использовать стек IPv4:

-Djava.net.preferIPv4Stack=true
0 голосов
/ 02 декабря 2013

Чтобы реализовать исправление pfranza в Oracle, где у вас нет командной строки:

Установите свойство java.net.preferIPv4Stack=true в каждом сеансе Oracle следующим образом, прежде чем вызывать код Java, содержащий многоадресный вызов, со следующим фрагментом PL / SQL:

ret := dbms_java.set_property('java.net.preferIPv4Stack','true');

Если вызов успешен, он вернет NULL.

...