WebSockets untuk Node.js dan JavaScript/TypeScript dengan dukungan JSON RPC 2.0 di atasnya.
Pustaka rpc-websockets memungkinkan pengembang untuk dengan mudah mengimplementasikan logika bisnis mereka yang mencakup pengiriman pesan antar pengguna, mesin, atau perangkat apa pun. Ini memberikan kemungkinan untuk mengirim dan menerima data JSON melalui protokol komunikasi WebSocket untuk mendukung push notifikasi dua arah, menjalankan metode RPC, dan mengaktifkan segala jenis pensinyalan peristiwa. Hanya klien yang dapat memanggil metode RPC dan bukan sebaliknya saat ini. Lingkungan pengembangan frontend (berbasis HTML/JS) dan backend (berbasis Node.js) didukung.
rpc-websockets dibangun di Node.js dan mendukung versi LTS dan Saat Ini.
Gunakan edisi OSS gratis untuk mengimplementasikan dan mengelola instans server WebSocket Anda sendiri, atau berlangganan paket Pro kami dan minta kami mengelola instans Anda dan memberi Anda pengelolaan metode, peristiwa, dan pemberitahuan pada Manajemen Web yang mudah digunakan portal.
Instal perpustakaan OSS kami di proyek Anda:
npm install rpc-websockets
Tulis kode sumber Anda menggunakan 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 ( )
} )
Silakan lihat dokumentasi API kami untuk server WebSocket dan kelas JavaScript dan TypeScript klien.
Fitur edisi sumber terbuka gratis.
Semua fitur sumber terbuka perpustakaan didokumentasikan dalam dokumentasi API kami dan dapat digunakan secara gratis. Anda bebas menerapkan solusi Anda berdasarkan metode yang disediakan dengan cara apa pun yang Anda sukai, selama Anda menggunakan karya kami sesuai dengan ketentuan lisensi kami yang sangat permisif.
Untuk mendukung lingkungan siap produksi Anda, kami dapat memberi Anda fitur tambahan yang dibangun di atas edisi OSS gratis kami bersama dengan keahlian untuk mengubah kasus bisnis atau ide Bukti Konsep Anda menjadi kenyataan.
Jelaskan kasus penggunaan Anda kepada kami dengan menghubungi kami dan kami akan segera menghubungi Anda dengan usulan solusi yang memenuhi kebutuhan Anda.
Kami menawarkan dukungan profesional untuk rpc-websockets dan seterusnya. Kami memiliki keahlian bertahun-tahun dalam membangun aplikasi Node.js yang kuat dan dapat diskalakan serta dapat membantu Anda mengatasi masalah dan tantangan yang menghalangi Anda mengirimkan produk hebat Anda. Kami unggul dalam arsitektur dan implementasi perangkat lunak, mampu memberi Anda layanan pengembangan, perencanaan, konsultasi, pelatihan, dan penyesuaian. Jangan ragu untuk menghubungi kami sehingga kami dapat mendiskusikan cara membantu Anda menyelesaikan produk Anda!
rpc-websockets secara aktif digunakan dalam produksi oleh banyak perusahaan dalam berbagai kasus penggunaan yang berbeda.
Jadilah sponsor dan dapatkan logo Anda di README proyek di GitHub dengan tautan ke situs Anda. Jangan ragu untuk menghubungi kami untuk pengaturannya!
Perpustakaan ini dilisensikan di bawah LGPLv3. Silakan lihat LISENSI untuk rincian lisensi.