JSON RPC 2.0 サポートを備えた Node.js および JavaScript/TypeScript 用の WebSocket。
rpc-websocketsライブラリを使用すると、開発者は、ユーザー、マシン、または任意のデバイス間のメッセージングを含むビジネス ロジックを簡単に実装できます。これは、双方向通知プッシュ、RPC メソッドの実行、およびあらゆる種類のイベント シグナリングの起動をサポートするために、WebSocket 通信プロトコルを介して JSON データを送受信する可能性を提供します。現時点では、クライアントのみが RPC メソッドを呼び出すことができ、その逆はできません。フロントエンド (HTML/JS ベース) とバックエンド (Node.js ベース) の両方の開発環境がサポートされています。
rpc-websocketsは Node.js 上に構築されており、LTS バージョンと最新バージョンの両方をサポートします。
独自の WebSocket サーバー インスタンスを実装および管理するには、無料の OSS エディションを使用します。または、Pro プランに登録すると、インスタンスを管理し、使いやすい Web 管理でメソッド、イベント、通知を管理できます。ポータル。
OSS ライブラリをプロジェクトにインストールします。
npm install rpc-websockets
rpc-websockets
を使用してソース コードを記述します。
var WebSocket = require ( 'rpc-websockets' ) . Client
var WebSocketServer = require ( 'rpc-websockets' ) . Server
// instantiate Server and start listening for requests
var server = new WebSocketServer ( {
port : 8080 ,
host : 'localhost'
} )
// register an RPC method
server . register ( 'sum' , function ( params ) {
return params [ 0 ] + params [ 1 ]
} )
// ...and maybe a protected one also
server . register ( 'account' , function ( ) {
return [ 'confi1' , 'confi2' ]
} ) . protected ( )
// create an event
server . event ( 'feedUpdated' )
// get events
console . log ( server . eventList ( ) )
// emit an event to subscribers
server . emit ( 'feedUpdated' )
// close the server
server . close ( )
// instantiate Client and connect to an RPC server
var ws = new WebSocket ( 'ws://localhost:8080' )
ws . on ( 'open' , function ( ) {
// call an RPC method with parameters
ws . call ( 'sum' , [ 5 , 3 ] ) . then ( function ( result ) {
require ( 'assert' ) . equal ( result , 8 )
} )
// send a notification to an RPC server
ws . notify ( 'openedNewsModule' )
// subscribe to receive an event
ws . subscribe ( 'feedUpdated' )
ws . on ( 'feedUpdated' , function ( ) {
updateLogic ( )
} )
// unsubscribe from an event
ws . unsubscribe ( 'feedUpdated' )
// login your client to be able to use protected methods
ws . login ( { 'username' : 'confi1' , 'password' : 'foobar' } ) . then ( function ( ) {
ws . call ( 'account' ) . then ( function ( result ) {
require ( 'assert' ) . equal ( result , [ 'confi1' , 'confi2' ] )
} )
} ) . catch ( function ( error ) {
console . log ( 'auth failed' )
} )
// close a websocket connection
ws . close ( )
} )
WebSocket サーバーとクライアントの JavaScript および TypeScript クラスの両方については、API ドキュメントを参照してください。
無料のオープンソース版の機能。
ライブラリのすべてのオープンソース機能は API ドキュメントに文書化されており、無料で使用できます。非常に寛容なライセンス条件に沿って当社の作品を使用する限り、提供された方法に基づいてソリューションを快適な方法で自由に実装できます。
実稼働環境をサポートするために、無料の OSS エディション上に構築された追加機能と、ビジネス ケースや概念実証のアイデアを現実化するためのスキル セットを提供できます。
弊社までご連絡いただき、お客様のユースケースについてご説明いただければ、お客様のニーズを満たすソリューション案を迅速にご連絡いたします。
当社は、rpc-websocketおよびそれ以降の専門的なサポートを提供します。当社には、堅牢でスケーラブルな Node.js アプリケーションの構築に関する長年の専門知識があり、優れた製品の出荷を妨げている問題や課題を克服するお手伝いをします。当社はソフトウェアのアーキテクチャと実装に優れており、開発、計画、コンサルティング、トレーニング、カスタマイズのサービスを提供できます。製品の仕上げについてご相談させていただきますので、お気軽にお問い合わせください。
rpc-websockets は、さまざまな異なるユースケースで複数の企業によって実稼働環境で積極的に使用されています。
スポンサーになり、GitHub 上のプロジェクトの README にあなたのロゴとサイトへのリンクを掲載してください。アレンジもお気軽にご相談ください!
このライブラリは LGPLv3 に基づいてライセンスされています。ライセンスの詳細については、ライセンスを参照してください。