A JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript, enabling two-way communication with RPC methods and events.
rpc-websockets is a library that implements JSON-RPC 2.0 over WebSockets, enabling structured remote procedure calls, notifications, and event-driven communication between clients and servers. It solves the problem of building real-time, bidirectional messaging systems with a standardized protocol, supporting both Node.js backend and JavaScript/TypeScript frontend environments.
Developers building real-time applications, IoT systems, or any software requiring structured two-way communication between clients and servers using WebSockets and JSON-RPC.
Developers choose rpc-websockets for its strict adherence to JSON-RPC 2.0, ease of use with built-in client and server classes, and support for both frontend and backend environments, eliminating the need to cobble together custom WebSocket messaging solutions.
JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fully implements JSON-RPC 2.0, ensuring reliable and interoperable remote procedure calls as highlighted in the specification support.
Supports custom events and subscriptions beyond basic RPC, enabling real-time notifications for applications like dashboards or chat.
Provides both Client and Server classes for Node.js and frontend JavaScript/TypeScript, simplifying bidirectional communication in diverse environments.
Offers protected methods with login mechanisms, securing sensitive RPC calls without requiring external libraries.
The README admits that only clients can call server methods, not vice versa, restricting server-pushed commands in real-time systems.
Advanced production features like management portals and instance scaling are locked behind a paid Pro plan, limiting free-tier scalability.
Requires developers to handle WebSocket server setup and maintenance manually in OSS, increasing complexity compared to managed services.