سؤال

لدي مشكلة في تعيين TTL على حزم البيانات الخاصة بي.أقوم باستدعاء طريقة setTTL(...) على الحزمة قبل إرسال الحزمة إلى multicastSocket ولكن إذا قمت بالتقاط الحزمة بأثيري، فسيتم دائمًا تعيين حقل TTL على 0

هل كانت مفيدة؟

المحلول

من المضحك أنك يجب أن تسأل هذا، لأنني فقط كتب عن هذا أمس, ، كنت أعاني من نفس المشكلة منذ حوالي 6 أشهر.يجب عليك في الأساس تعيين خاصية نظام خاصة لإخبار JVM باستخدام مكدس IPv4:

-Djava.net.preferIPv4Stack=true

نصائح أخرى

لتنفيذ إصلاح pfranza في Oracle، حيث لا يوجد لديك سطر أوامر:

تعيين الخاصية java.net.preferIPv4Stack=true في كل جلسة Oracle كما يلي قبل استدعاء كود Java الذي يحتوي على استدعاء البث المتعدد بمقتطف PL/SQL التالي:

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

إذا كانت المكالمة ناجحة فسوف تعود NULL.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top