سؤال

هل يعرف أي شخص كيفية تلقي (كيف تعرف أنك تلقيت) بيانات خارج النطاق باستخدام مآخذ توصيل Java؟على وجه الخصوص لقد قرأت الوثائق ل sendUrgentData و setOOBinline الذي ينص على أن:

لاحظ أنه يتم توفير دعم محدود فقط للتعامل مع البيانات العاجلة الواردة.وعلى وجه الخصوص، لا يتم تقديم أي إشعار بالبيانات العاجلة الواردة ولا توجد إمكانية للتمييز بين البيانات العادية والبيانات العاجلة ما لم يتم توفيرها بواسطة بروتوكول عالي المستوى.

ولكن مازلت آمل أن يكون لدى شخص ما حل :-)

المزيد من التفاصيل:

أقوم بإرسال كائنات متسلسلة عبر المقبس ولا أرى حقًا كيف يمكنني العثور على بايت OOB "عشوائي" مدرج في الدفق (بخلاف حقيقة أن Java ستمنحني استثناءً عندما أحاول إلغاء تسلسل هدف).

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

المحلول

والقط لديه التنفيذ المحافظة من مقبس JNI التي يمكن قراءة الحزم عاجلة بطريقة OOB.

نصائح أخرى

يبدو مثل Java، حتى Java 6 (لم أقم بالتحقيق في Java 7 لأنني لا أعرف ما إذا كانوا قد قرروا بالتأكيد ما سيتم إدخاله أم لا) ويبدو أن Java لا تقدم أي دعم على الإطلاق لـ قراءة معلومات TCP العاجلة بطريقة خارج النطاق.ويبدو أن هذا اختيار متعمد حتى الآن.

ومع ذلك، أنا فعل ابحث عن مستخدم واحد نفذت بلده الحل، باستخدام JNI، لقراءة البيانات العاجلة خارج الدفق بنجاح.هذا الاختراق قديم جدًا وقد يعمل أو لا يعمل مع JDK الحديثة.لم أحاول هذا بنفسي!قد تختلف الأميال الخاصة بك.:) ولكن نأمل أن يساعدك هذا.

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