WebSockets pour Node.js et JavaScript/TypeScript avec prise en charge de JSON RPC 2.0 en plus.
La bibliothèque rpc-websockets permet aux développeurs d'implémenter facilement leur logique métier qui inclut la messagerie entre les utilisateurs, les machines ou tout autre appareil. Il offre la possibilité d'envoyer et de recevoir des données JSON via le protocole de communication WebSocket afin de prendre en charge les notifications push bidirectionnelles, l'exécution de méthodes RPC et le déclenchement de tout type de signalisation d'événement. Seuls les clients peuvent appeler les méthodes RPC et non l'inverse pour le moment. Les environnements de développement frontend (basés sur HTML/JS) et backend (basés sur Node.js) sont pris en charge.
rpc-websockets est construit sur Node.js et prend en charge les versions LTS et actuelles.
Utilisez l'édition gratuite OSS afin d'implémenter et de gérer vos propres instances de serveur WebSocket, ou abonnez-vous à notre plan Pro et laissez-nous gérer vos instances et vous fournir la gestion de vos méthodes, événements et notifications sur une gestion Web facile à utiliser. portail.
Installez notre bibliothèque OSS dans votre projet :
npm install rpc-websockets
Écrivez votre code source en utilisant 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 ( )
} )
Veuillez consulter notre documentation API pour les classes JavaScript et TypeScript du serveur et du client WebSocket.
Caractéristiques de l'édition open source gratuite.
Toutes les fonctionnalités open source de la bibliothèque sont documentées dans notre documentation API et peuvent être utilisées gratuitement. Vous êtes libre de mettre en œuvre vos solutions basées sur les méthodes fournies de la manière qui vous convient, à condition que vous utilisiez notre travail conformément à nos conditions de licence très permissives.
Afin de prendre en charge vos environnements prêts pour la production, nous pouvons vous fournir des fonctionnalités supplémentaires construites sur notre édition gratuite OSS ainsi que l'ensemble des compétences nécessaires pour transformer votre analyse de rentabilisation ou une idée de preuve de concept en réalité.
Décrivez-nous votre cas d'utilisation en nous contactant et nous vous répondrons rapidement avec une proposition de solution répondant à vos besoins.
Nous offrons un support professionnel pour les rpc-websockets et au-delà. Nous avons de nombreuses années d'expertise dans la création d'applications Node.js robustes et évolutives et pouvons vous aider à surmonter les problèmes et les défis qui vous empêchent d'expédier vos excellents produits. Nous excellons dans l’architecture et la mise en œuvre de logiciels, étant en mesure de vous fournir des services de développement, de planification, de conseil, de formation et de personnalisation. N'hésitez pas à nous contacter afin que nous puissions discuter de la manière de vous aider à finaliser vos produits !
rpc-websockets est activement utilisé en production par plusieurs entreprises dans une variété de cas d'utilisation différents.
Devenez sponsor et obtenez votre logo sur le README du projet sur GitHub avec un lien vers votre site. N'hésitez pas à nous contacter pour l'arrangement !
Cette bibliothèque est sous licence LGPLv3. Veuillez consulter LICENCE pour plus de détails sur la licence.