مقدمة
يعد Simple Network Framework for Java (SNF4J) إطار عمل تطبيق شبكة غير متزامن يعتمد على الأحداث للتطوير السريع والسهل لتطبيقات الشبكة.
يعمل SNF4J كإطار تطبيق شبكة بسيط وخفيف الوزن ومستقل يساعد في تطوير تطبيقات الشبكة عالية الأداء وقابلة للتطوير. وهو يوفر واجهة برمجة تطبيقات غير متزامنة عبر Java NIO للتعامل مع وسائل النقل المختلفة مثل TCP/IP وUDP/IP وSCTP/IP.
تم تصميم الإطار ليكون سهل الاستخدام وسهل الفهم إلى حد ما. مطورو التطبيقات الذين يرغبون في إبقاء آذانهم على الأرض لن تطغى عليهم نغمة التعليمات البرمجية المصدر. إنه موجه نحو تقديم وظائف الشبكات الأساسية مثل نقل البيانات بين اثنين أو أكثر من تطبيقات الشبكة المتصلة بطريقة بسيطة ولكنها فعالة. لتوفير الخصوصية وسلامة البيانات المنقولة، فإنه يوفر الدعم لبروتوكولات SSL/TLS/DTLS.
تصميم
- واجهة برمجة التطبيقات الموحدة لأنواع طبقات النقل: TCP وUDP وSCTP
- واجهة برمجة التطبيقات المستندة إلى الأحداث لتطوير تطبيقات الشبكة غير المتزامنة
- محركات بروتوكول قابلة للتخصيص لأنواع طبقات النقل: TCP وUDP
- أدوات مساعدة لتطوير تطبيقات خادم UDP
- واجهة برمجة تطبيقات بسيطة لخطوط أنابيب التشفير وفك التشفير القابلة للتخصيص
- توفير سهولة برمجة التطبيقات متعددة الخيوط بطريقة أحادية الخيط
- بناء خطوط أنابيب للجلسات التي تشترك في نفس قناة المقبس
الأداء وقابلية التوسع
- دعم نسخ الذاكرة غير الضرورية إلى الحد الأدنى أو حتى الصفر
- دعم الاستخدام المنخفض للذاكرة في التطبيقات متعددة الجلسات
- الكمون أقل
- ضغط zlib وgzip
- تجمع حلقة محدد قابلة للتخصيص
- مخصصات المخزن المؤقت بايت قابلة للتخصيص
نموذج الموضوع
- يتم إطلاق جميع أحداث المعالج (مثل القراءة، الحدث، المؤقت، الاستثناء، الحادث) من مؤشر الترابط الذي يقوم بإجراء الإدخال/الإخراج للقناة (مؤشر ترابط الإدخال/الإخراج)
- جميع أساليب الجلسة آمنة لمؤشر الترابط ويمكن استدعاؤها من أي مؤشر ترابط بما في ذلك مؤشر ترابط الإدخال/الإخراج ومؤشرات الترابط غير الخاصة بالإدخال/الإخراج
- يتم تشغيل أي حدث للمعالج كأثر جانبي لاستدعاء طريقة الجلسة من مؤشر ترابط الإدخال/الإخراج
- تتم دائمًا معالجة التعليمات البرمجية لبرنامج الترميز في سلسلة عمليات الإدخال/الإخراج
- تتم معالجة رمز المحرك دائمًا في سلسلة الإدخال/الإخراج
البروتوكولات المدعومة
- بروتوكول اتصال وكيل الويب HTTP
- بروتوكولات الجوارب
- بروتوكول ويب سوكيت
- مجموعة أدوات لبروتوكول TLS 1.3 (الموزعون/المنسقون، ومحرك المصافحة، وأدوات طبقة التسجيل، ومحرك TLS الكامل)
حماية
- دعم كامل لبروتوكولات SSL/TLS/DTLS
- اتصال وكيل الويب الآمن
اندماج
- لا توجد تبعيات إضافية، JDK 8 أو JDK 9 (لـ DTLS) كافية
- تسجيل قابل للتخصيص بالكامل (SLF4J، Log4j 2 هنا بالفعل)
- مصانع الخيوط القابلة للتخصيص
- توقيت الجلسة للتخصيص
- نماذج إعادة إرسال الحزمة القابلة للتخصيص أثناء مصافحة DTLS
تجميع
أنت بحاجة إلى Apache maven 3.8 أو أعلى، أو Java 8 أو أعلى
روابط