Ich habe ein Problem mit dem Setzen der TTL auf meine Datagram-Pakete. Ich rufe die Methode setTTL (...) für das Paket auf, bevor ich das Paket an den MulticastSocket sende, aber wenn ich das Paket mit ethereal aufnehme, wird das TTL-Feld immer auf 0 gesetzt
Komisch, dass Sie das fragen sollten, weil ich gerade schrieb gestern darüber , hatte ich das gleiche Problem vor 6 Monaten. Grundsätzlich müssen Sie eine spezielle Systemeigenschaft festlegen, die der JVM die Verwendung eines IPv4-Stacks mitteilt:
%Vor%Um Pfranzas Korrektur in Oracle zu implementieren, wo Sie keine Befehlszeile haben:
Setzen Sie die Eigenschaft java.net.preferIPv4Stack=true
in jeder Oracle-Sitzung wie folgt, bevor Sie den Java-Code aufrufen, der den Multicast-Aufruf mit dem folgenden PL / SQL-Code enthält:
Wenn der Aufruf erfolgreich ist, wird NULL zurückgegeben.