libquicknet
مكتبة شبكات UDP بسيطة وصغيرة وموثوقة للألعاب
❗ libquicknet قيد التطوير وغير مناسب لكود الإنتاج ❗
الهدف الرئيسي لهذه المكتبة هو نماذج الألعاب أو ألعاب المربى التي تتطلب نظامًا فرعيًا سريعًا للتوصيل والتشغيل.
من السهل جدًا النهوض والتشغيل!
سمات:
- بروتوكول UDP موجه للاتصال مع مصافحة من 3 خطوات
- العميل<->الخادم ودعم نظير إلى نظير
- استخدام عرض النطاق الترددي المنخفض
- دعم متسلسل/غير متسلسل موثوق/غير موثوق
- نظام إقرار سريع زائد عن الحاجة للرسائل الموثوقة
- اكتشاف الخادم (LAN فقط)
- نظام المجموع الاختباري الكامل لتجنب تلف الرسائل
- دمج الرسالة الاختيارية عند الإرسال
- معدل إرسال ثابت قابل للتحديد
- كشف الرسائل المكررة
- الكمون الزائف ودعم فقدان الحزمة
- Ping وتقدير وقت الرحلة ذهابًا وإيابًا
- عبر الأنظمة الأساسية (Windows/Linux)
الميزات المستقبلية:
- مزامنة الوقت
- تزامن RNG للأنظمة الحتمية
- التعبئة والضغط
- تشفير متماثل مع تبادل المفاتيح عند المصافحة
- اجتياز NAT واللكمة
- الوعي Endianness
- تحسين نظام الاعتراف
تثبيت
قم بإسقاط جميع الملفات المصدر في مشروعك وقم بتجميعها!
الاستخدام
- تشمل Quicknet_peer.h
- إنشاء سليل Quicknet::Peer
- تجاوز أساليب OnConnection وOnDisconnection وOnGameMessage
- حدد رسائل اللعبة المخصصة الخاصة بك وفقًا للتعليمات في Quicknet_messagetypes.h
- قم بتضمين معرفات الرسائل الخاصة بك في Quicknet_messagelookup.h
- مستعد!
للحصول على مثال بسيط يرجى مراجعة test.cpp
خلفية
تمت كتابة هذه المكتبة في أسبوع واحد، وحتى لو كانت تعمل بكامل طاقتها، فإنها لا تزال بحاجة إلى الكثير من العمل لجعلها أفضل!
لا يزال هناك الكثير من العناصر المشفرة التي تحتاج إلى رعاية، ولكن سأحاول تحويلها إلى مكتبة قابلة للتخصيص بسهولة.