WebSockets para Node.js e JavaScript/TypeScript com suporte JSON RPC 2.0 na parte superior.
A biblioteca rpc-websockets permite que os desenvolvedores implementem facilmente sua lógica de negócios que inclui mensagens entre usuários, máquinas ou quaisquer dispositivos. Ele oferece a possibilidade de enviar e receber dados JSON por meio do protocolo de comunicação WebSocket para suportar push de notificação bidirecional, executar métodos RPC e disparar qualquer tipo de sinalização de evento. Somente clientes podem chamar métodos RPC e não vice-versa no momento. Ambos os ambientes de desenvolvimento frontend (baseado em HTML/JS) e backend (baseado em Node.js) são suportados.
rpc-websockets é construído em Node.js e oferece suporte às versões LTS e Atual.
Use a edição OSS gratuita para implementar e gerenciar suas próprias instâncias de servidor WebSocket, ou assine nosso plano Pro e deixe-nos gerenciar suas instâncias e fornecer gerenciamento de seus métodos, eventos e notificações em um gerenciamento web fácil de usar. portal.
Instale nossa biblioteca OSS em seu projeto:
npm install rpc-websockets
Escreva seu código-fonte usando 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 ( )
} )
Consulte nossa documentação de API para classes JavaScript e TypeScript de servidor e cliente WebSocket.
Recursos da edição gratuita de código aberto.
Todos os recursos de código aberto da biblioteca estão documentados em nossa documentação da API e podem ser usados gratuitamente. Você é livre para implementar suas soluções com base nos métodos fornecidos da maneira que achar confortável, desde que use nosso trabalho de acordo com nossas condições de licença muito permissivas.
Para dar suporte aos seus ambientes prontos para produção, podemos fornecer recursos adicionais desenvolvidos com base em nossa edição OSS gratuita, juntamente com o conjunto de habilidades para transformar seu caso de negócios ou uma ideia de prova de conceito em realidade.
Descreva-nos o seu caso de uso entrando em contato conosco e entraremos em contato com você rapidamente com uma proposta de solução que atenda às suas necessidades.
Oferecemos suporte profissional para rpc-websockets e muito mais. Temos muitos anos de experiência na construção de aplicativos Node.js robustos e escalonáveis e podemos ajudá-lo a superar problemas e desafios que o impedem de enviar seus excelentes produtos. Primamos pela arquitetura e implementação de software, podendo prestar-lhe serviços de desenvolvimento, planeamento, consultoria, formação e customização. Sinta-se à vontade para entrar em contato conosco para que possamos discutir como ajudá-lo a finalizar seus produtos!
rpc-websockets está sendo usado ativamente na produção por várias empresas em uma variedade de casos de uso diferentes.
Torne-se um patrocinador e coloque seu logotipo no README do projeto no GitHub com um link para seu site. Sinta-se à vontade para entrar em contato conosco para combinar!
Esta biblioteca está licenciada sob LGPLv3. Consulte LICENÇA para obter detalhes de licenciamento.