Java Multicast tempo para viver é sempre 0
Pergunta
Eu tenho um problema com a configuração do TTL em meus pacotes de datagrama. Eu estou chamando o método setTTL (...) sobre o pacote antes de enviar o pacote para o MulticastSocket mas se eu capturar o pacote com etéreo do campo TTL é sempre definido como 0
Solução
Engraçado que você deve perguntar isso, porque eu só escreveu sobre isso ontem , eu estava tendo o mesmo problema cerca de 6 meses atrás. Basicamente, você tem que definir uma propriedade de sistema especial dizendo a JVM para usar uma pilha IPv4:
-Djava.net.preferIPv4Stack=true
Outras dicas
Para implementar correção de pfranza na Oracle, onde você não tem uma linha de comando:
Defina a propriedade java.net.preferIPv4Stack=true
em cada sessão Oracle como segue antes de chamar o código java que contém a chamada multicast com o seguinte PL / SQL trecho:
ret := dbms_java.set_property('java.net.preferIPv4Stack','true');
Se a chamada for bem sucedida, irá retornar NULL.