يأتي مكاسب الأداء من تخزين الحزم مؤقتًا قبل إرسالها، مما يؤدي في النهاية إلى إرسال دفعات بدلاً من الحزم الفردية. كلما زادت معالجة حركة المرور، كان التحسن أفضل. يتم تقديم العديد من الاستراتيجيات كإجراءات روتينية. يمكنك قراءة المزيد عن خوارزمية التخزين المؤقت للحزم هنا
قم بتثبيت الحزمة الأساسية
npm install kalm
تثبيت طبقة النقل ('tcp' على سبيل المثال)
npm install @kalm/tcp
الخادم
const kalm = require ( 'kalm' ) ;
const ws = require ( '@kalm/ws' ) ;
const server = kalm . listen ( {
port : 8800 ,
transport : ws ( ) ,
routine : kalm . routines . tick ( { hz : 5 } ) , // Sends packets at a frequency of 5 Hz (200ms)
host : '0.0.0.0' ,
} ) ;
server . on ( 'connection' , ( client ) => {
client . subscribe ( 'my-channel' , ( body , frame ) => {
// Handle messages here
} ) ;
server . broadcast ( 'my-other-channel' , 'some message' ) ;
} ) ;
عميل
const kalm = require ( 'kalm' ) ;
const ws = require ( '@kalm/ws' ) ;
const client = kalm . connect ( {
host : '0.0.0.0' ,
port : 8800 ,
transport : ws ( ) ,
routine : kalm . routines . realtime ( ) ,
} ) ;
client . on ( 'connect' , ( ) => {
client . subscribe ( 'my-other-channel' , ( body , frame ) => {
// Handle messages here
} ) ;
client . write ( 'my-channel' , 'hello world' ) ;
} ) ;
لرؤية تطبيقات العمل، راجع مجلد الأمثلة لدينا.
[اقرأ المزيد]
يستخدم Kalm متغير البيئة NODE_DEBUG
. فقط أدرج kalm
في قيمتك.
مثال:
NODE_DEBUG=net,kalm node myApp.js
يقدم Kalm أحداثًا لتتبع وقت معالجة الحزم عن طريق الإجراءات الروتينية أو عند استلام إطار خام.
حدث | الحمولة | وصف |
---|---|---|
error | خطأ | (الخادم، العميل) ينبعث من الأخطاء. |
ready | فارغ | (الخادم) يشير إلى أن الخادم يستمع الآن بشكل نشط للاتصالات الجديدة |
connection | عميل | (الخادم) يشير إلى أن العميل قد تم الاتصال به بنجاح |
connect | عميل | (العميل) يشير إلى أن العميل قد تم الاتصال به بنجاح |
disconnect | فارغ | (العميل) يشير إلى أن العميل قد تم قطع اتصاله |
frame | RawFrame | (العميل) يتم تشغيله عند تلقي إطار كامل تم تحليله. |
npm test
npm run bench
إذا فكرت في شيء تريده، أو فتحت مشكلة أو قدمت طلب سحب، فسوف نكون سعداء للغاية بإلقاء نظرة عليه!
هذا المشروع موجود بفضل جميع الأشخاص الذين ساهموا فيه. [يساهم].
كن مساهمًا ماليًا وساعدنا في الحفاظ على مجتمعنا. [يساهم]
ادعم هذا المشروع مع مؤسستك. سيظهر شعارك هنا مع رابط لموقعك على الويب. [يساهم]
أباتشي 2.0 (ج) 2023 فريدريك شاريت