Question

J'ai un problème avec la définition de la durée de vie sur mes paquets de datagramme. J'appelle la méthode setTTL (...) sur le paquet avant d'envoyer le paquet au multicastSocket mais si je capture le paquet avec ethereal, le champ TTL est toujours défini sur 0

Était-ce utile?

La solution

C'est drôle que vous devriez poser cette question, parce que je viens a écrit à ce sujet hier , le même problème se posait il y a environ 6 mois. En gros, vous devez définir une propriété système spéciale indiquant à la machine virtuelle Java d’utiliser une pile IPv4:

-Djava.net.preferIPv4Stack=true

Autres conseils

Pour implémenter le correctif de pfranza dans Oracle, où vous n'avez pas de ligne de commande:

Définissez la propriété java.net.preferIPv4Stack = true dans chaque session Oracle comme suit avant d'appeler le code java contenant l'appel multidiffusion avec l'extrait de code PL / SQL suivant:

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

Si l'appel réussit, il retournera NULL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top