WebSockets für Node.js und JavaScript/TypeScript mit zusätzlicher JSON RPC 2.0-Unterstützung.
Die rpc-websockets- Bibliothek ermöglicht Entwicklern die einfache Implementierung ihrer Geschäftslogik, die die Nachrichtenübermittlung zwischen Benutzern, Maschinen oder beliebigen Geräten umfasst. Es bietet die Möglichkeit, JSON-Daten über das WebSocket-Kommunikationsprotokoll zu senden und zu empfangen, um bidirektionalen Benachrichtigungs-Push zu unterstützen, RPC-Methoden auszuführen und alle Arten von Ereignissignalen auszulösen. RPC-Methoden können derzeit nur von Clients aufgerufen werden und umgekehrt nicht. Es werden sowohl Frontend- (HTML/JS-basierte) als auch Backend-Entwicklungsumgebungen (Node.js-basiert) unterstützt.
rpc-websockets basiert auf Node.js und unterstützt sowohl LTS- als auch aktuelle Versionen.
Nutzen Sie die kostenlose OSS-Edition, um Ihre eigenen WebSocket-Serverinstanzen zu implementieren und zu verwalten, oder abonnieren Sie unseren Pro-Plan und lassen Sie uns Ihre Instanzen verwalten und Ihnen die Verwaltung Ihrer Methoden, Ereignisse und Benachrichtigungen über ein benutzerfreundliches Webmanagement ermöglichen Portal.
Installieren Sie unsere OSS-Bibliothek in Ihrem Projekt:
npm install rpc-websockets
Schreiben Sie Ihren Quellcode mit 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 ( )
} )
Bitte konsultieren Sie unsere API-Dokumentation für WebSocket-Server- und Client-JavaScript- und TypeScript-Klassen.
Funktionen der kostenlosen Open-Source-Edition.
Alle Open-Source-Funktionen der Bibliothek sind in unserer API-Dokumentation dokumentiert und können kostenlos genutzt werden. Es steht Ihnen frei, Ihre Lösungen basierend auf den bereitgestellten Methoden auf jede für Sie angenehme Weise zu implementieren, solange Sie unsere Arbeit gemäß unseren sehr freizügigen Lizenzbedingungen nutzen.
Um Ihre produktionsbereiten Umgebungen zu unterstützen, können wir Ihnen zusätzliche Funktionen bereitstellen, die auf unserer kostenlosen OSS-Edition aufbauen, zusammen mit den Fähigkeiten, Ihr Geschäftsszenario oder eine Proof-of-Concept-Idee in die Realität umzusetzen.
Beschreiben Sie uns Ihren Anwendungsfall, indem Sie uns kontaktieren. Wir werden uns umgehend mit einem Lösungsvorschlag bei Ihnen melden, der Ihren Anforderungen entspricht.
Wir bieten professionellen Support für RPC-Websockets und darüber hinaus. Wir verfügen über langjährige Erfahrung in der Entwicklung robuster, skalierbarer Node.js-Anwendungen und können Ihnen bei der Bewältigung von Problemen und Herausforderungen helfen, die Sie an der Auslieferung Ihrer großartigen Produkte hindern. Wir zeichnen uns durch Softwarearchitektur und -implementierung aus und können Ihnen Entwicklungs-, Planungs-, Beratungs-, Schulungs- und Anpassungsdienste anbieten. Kontaktieren Sie uns gerne, damit wir besprechen können, wie wir Sie bei der Veredelung Ihrer Produkte unterstützen können!
rpc-websockets wird von mehreren Unternehmen in verschiedenen Anwendungsfällen aktiv in der Produktion eingesetzt.
Werden Sie Sponsor und erhalten Sie Ihr Logo in der README-Datei des Projekts auf GitHub mit einem Link zu Ihrer Website. Kontaktieren Sie uns gerne für die Vereinbarung!
Diese Bibliothek ist unter LGPLv3 lizenziert. Einzelheiten zur Lizenzierung finden Sie unter LIZENZ.