WebSockets для Node.js и JavaScript/TypeScript с поддержкой JSON RPC 2.0 сверху.
Библиотека rpc-websockets позволяет разработчикам легко реализовывать свою бизнес-логику, включающую обмен сообщениями между пользователями, компьютерами или любыми устройствами. Он предоставляет возможность отправлять и получать данные JSON через протокол связи WebSocket для поддержки двусторонней отправки уведомлений, запуска методов RPC и запуска любых типов сигнализации о событиях. На данный момент только клиенты могут вызывать методы RPC, но не наоборот. Поддерживаются как внешние (на основе HTML/JS), так и внутренние (на основе Node.js) среды разработки.
rpc-websockets построен на Node.js и поддерживает как LTS, так и текущую версии.
Используйте бесплатную версию OSS, чтобы реализовать и управлять собственными экземплярами сервера WebSocket, или подпишитесь на наш план Pro, и мы будем управлять вашими экземплярами и предоставлять вам управление вашими методами, событиями и уведомлениями с помощью простой в использовании системы веб-управления. портал.
Установите нашу OSS-библиотеку в свой проект:
npm install rpc-websockets
Напишите исходный код, используя 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 ( )
} )
Ознакомьтесь с нашей документацией по API для серверных и клиентских классов WebSocket JavaScript и TypeScript.
Особенности бесплатной версии с открытым исходным кодом.
Все функции библиотеки с открытым исходным кодом описаны в нашей документации API и могут использоваться бесплатно. Вы можете свободно реализовывать свои решения на основе предоставленных методов любым удобным для вас способом, при условии, что вы используете нашу работу в соответствии с нашими очень либеральными условиями лицензии.
Чтобы поддержать ваши готовые к работе среды, мы можем предоставить вам дополнительные функции, созданные на основе нашей бесплатной версии OSS, а также набор навыков, которые помогут воплотить ваше бизнес-кейс или идею проверки концепции в реальность.
Опишите нам свой вариант использования, связавшись с нами, и мы быстро свяжемся с вами и предложим решение, соответствующее вашим потребностям.
Мы предлагаем профессиональную поддержку для rpc-websockets и не только. Мы обладаем многолетним опытом создания надежных, масштабируемых приложений Node.js и можем помочь вам преодолеть проблемы и проблемы, мешающие вам выпускать отличные продукты. Мы преуспеваем в архитектуре и внедрении программного обеспечения, имея возможность предоставить вам услуги по разработке, планированию, консалтингу, обучению и настройке. Не стесняйтесь обращаться к нам, чтобы мы могли обсудить, как помочь вам закончить вашу продукцию!
Rpc-websockets активно используется в производстве множеством компаний в самых разных случаях.
Станьте спонсором и разместите свой логотип в README проекта на GitHub со ссылкой на ваш сайт. Смело обращайтесь к нам для организации!
Эта библиотека распространяется под лицензией LGPLv3. Подробную информацию о лицензировании см. в разделе ЛИЦЕНЗИЯ.