Ich habe ein Problem mit der Einstellung der TTL auf meine Datagramm-Pakete. Ich rufe die setTTL (...) Methode auf dem Paket vor dem Senden des Pakets an die MulticastSocket, aber wenn ich das Paket mit ätherischen erfassen das TTL-Feld ist immer auf 0 gesetztJava Multicast Time to Live ist immer 0
8
A
Antwort
6
Lustig, dass Sie dies fragen sollten, weil ich nur wrote about this yesterday, hatte ich das gleiche Problem vor 6 Monaten. Grundsätzlich müssen Sie eine spezielle System Eigenschaft die JVM sagen, eine IPv4-Stack zu verwenden:
-Djava.net.preferIPv4Stack=true
0
Um pfranza der fix in Oracle zu implementieren, wo Sie keine Befehlszeile haben:
die Eigenschaft Set java.net.preferIPv4Stack=true
in jeder Oracle-Sitzung wie folgt vor dem Java-Code des Aufruf den Multicast-Aufruf mit dem folgenden PL/SQL-Schnipsel enthalten:
ret := dbms_java.set_property('java.net.preferIPv4Stack','true');
Wenn der Aufruf erfolgreich ist es NULL zurückkehren wird.
danke ich gebe das einen Versuch –
Ich versuchte es und arbeitete für mich! Vielen Dank! – Elmer