kalm.js
v7.0.0
パケットを送信する前にバッファリングすることでパフォーマンスが向上し、最終的には個別のパッケージではなくバッチが送信されます。処理されるトラフィックが増えるほど、改善は促進されます。多くの戦略がルーチンとして提供されます。パケットバッファリングアルゴリズムの詳細については、こちらをご覧ください。
コアパッケージをインストールする
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 | クライアント | (client) クライアントが正常に接続したことを示します |
disconnect | 空所 | (client) クライアントが切断されたことを示します |
frame | RawFrame | (クライアント) 解析されたフルフレームを受信したときにトリガーされます。 |
npm test
npm run bench
何か欲しいものを思いついた場合、問題をオープンするか、プルリクエストを提出してください。喜んで拝見させていただきます。
このプロジェクトは、貢献してくださったすべての人々のおかげで存在します。 [貢献する]。
財政的に貢献して、コミュニティの維持にご協力ください。 [貢献する]
あなたの組織でこのプロジェクトをサポートしてください。あなたのロゴが Web サイトへのリンクとともにここに表示されます。 [貢献する]
Apache 2.0 (c) 2023 フレデリック・シャレット