2008-09-26 17 views
8

Tengo un problema con la configuración del TTL en mis paquetes de Datagram. Estoy llamando al método setTTL (...) en el paquete antes de enviar el paquete a multicastSocket, pero si capturo el paquete con etéreo, el campo TTL siempre se establece en 0Java Multicast Time To Live siempre es 0

Respuesta

6

Es curioso que me preguntes esto, porque solo wrote about this yesterday, estaba teniendo el mismo problema hace 6 meses. Básicamente, usted tiene que establecer una propiedad especial del sistema diciendo la JVM para utilizar una pila IPv4:

-Djava.net.preferIPv4Stack=true 
+0

gracias Voy a intentarlo –

+0

¡Lo probé y funcionó para mí! ¡Gracias! – Elmer

0

Implementar solución de pfranza en Oracle, donde usted no tiene una línea de comandos:

Establecer la propiedad java.net.preferIPv4Stack=true en cada sesión de Oracle de la siguiente antes de llamar al código de java que contiene la llamada de multidifusión con el siguiente fragmento de PL/SQL:

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

Si la llamada tiene éxito, devuelve NULL.