جافا-KCP
اقرأني باللغة الإنجليزية
تم تنفيذ kcp استنادًا إلى إصدار netty (بما في ذلك تنفيذ وظيفة fec)
KCP هو بروتوكول سريع وموثوق (rudp) يعتمد على UDP ويمكنه تقليل متوسط التأخير بنسبة 30%-40% وتقليل الحد الأقصى للتأخير بمقدار ثلاث مرات على حساب إهدار 10%-20% من عرض النطاق الترددي مقارنة بـ TCP.
عنوان مخضرم:
< dependency >
< groupId >com.github.l42111996</ groupId >
< artifactId >kcp-base</ artifactId >
< version >1.6</ version >
</ dependency >
طرق الاستخدام والمعلمات
- مثال جانب الخادم
- مثيل العميل
- أفضل الممارسات
- الكثير من المعلومات
- متوافق مع C#، خادم جافا، عميل C#
- المشاكل التي واجهتها
- نتائج اختبار الأداء
- متوافق مع kcp-go، بما في ذلك التوافق مع fec
التوافق:
- متوافق مع الإصدار C KCP
- يتم تنفيذ fec بناءً على https://github.com/Backblaze/JavaReedSolomon
- إصدار C# متوافق تمامًا، https://github.com/l42111996/csharp-kcp، لإنشاء مكتبات الشبكة الأمامية والخلفية للعبة بسرعة
استقرار:
إنها بالفعل نسخة مستقرة. وفقًا للإحصاءات، تم الوصول إلى 5 إلى 10 مشاريع عبر الإنترنت، بما في ذلك منتجات من Tencent وKuaishou وشركات أخرى.
تحسين:
- يعتمد على الأحداث، مع الاستفادة الكاملة من النواة المتعددة
- تحسين منطق fastack وتقليل حركة المرور بنسبة 10٪
- تحسين وظيفة التحقق.
- تحسين مكررات المجموعة.
- يحتوي على البراز لتقليل الكمون
- يأتي مع فحص crc32
- استخدم عجلة الوقت لتحسين استخدام وحدة المعالجة المركزية لعدد كبير من الاتصالات
- استخدم directbuf وتجمع الكائنات، بدون ضغط gc
- تمت إضافة استخدام التحويل أو منفذ ip+ لتحديد تفرد القناة. توصي اللعبة باستخدام معلومات التكوين ذات الصلة بـ conv وtcp
- عند زيادة استخدام اللعبة، لن يؤدي تحويل 4G إلى wifi وتغييرات IP الأخرى للتصدير إلى قطع الاتصال.
المعلومات ذات الصلة
- https://github.com/skywind3000/kcp النسخة c الأصلية من kcp
- https://github.com/xtaci/kcp-go go version kcp، مع الكثير من التحسينات
- https://github.com/Backblaze/JavaReedSolomon إصدار جافاfec
- https://github.com/LMAX-Exchange/disruptor مكتبة رسائل بين الخيوط عالية الأداء
- https://github.com/JCTools/JCTools مكتبة التزامن عالية الأداء
- https://github.com/szhnet/kcp-netty نسخة جافا من kcp
- https://github.com/l42111996/csharp-kcp إصدار C# kcp يعتمد على dotNetty، متوافق تمامًا
التواصل
س:526167774