All Projects → jnordberg → Wsrpc

jnordberg / Wsrpc

Licence: other
node.js/browser protobuf rpc over binary websockets

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Wsrpc

Signalw
Even simpler and faster real-time web for ASP.NET Core.
Stars: ✭ 125 (+37.36%)
Mutual labels:  rpc, websockets
Hprose Js
Hprose is a cross-language RPC. This project is Hprose 2.0 RPC for JavaScript
Stars: ✭ 133 (+46.15%)
Mutual labels:  rpc, websockets
Isomorphic Ws
Isomorphic implementation of WebSocket (https://www.npmjs.com/package/ws)
Stars: ✭ 215 (+136.26%)
Mutual labels:  websockets, browser
Speechtotext Websockets Javascript
SDK & Sample to do speech recognition using websockets in Javascript
Stars: ✭ 191 (+109.89%)
Mutual labels:  websockets, browser
Espui
A simple web user interface library for ESP32 and ESP8266
Stars: ✭ 330 (+262.64%)
Mutual labels:  websockets, browser
Hprose Html5
Hprose is a cross-language RPC. This project is Hprose 2.0 Client for HTML5
Stars: ✭ 237 (+160.44%)
Mutual labels:  rpc, websockets
Chainabstractionlayer
Blockchain abstraction layer
Stars: ✭ 131 (+43.96%)
Mutual labels:  rpc, browser
Getty
a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
Stars: ✭ 532 (+484.62%)
Mutual labels:  rpc, websockets
Saea
SAEA.Socket is a high-performance IOCP framework TCP based on dotnet standard 2.0; Src contains its application test scenarios, such as websocket,rpc, redis driver, MVC WebAPI, lightweight message server, ultra large file transmission, etc. SAEA.Socket是一个高性能IOCP框架的 TCP,基于dotnet standard 2.0;Src中含有其应用测试场景,例如websocket、rpc、redis驱动、MVC WebAPI、轻量级消息服务器、超大文件传输等
Stars: ✭ 318 (+249.45%)
Mutual labels:  rpc, websockets
CoreRemoting
RPC library with classic .NET Remoting flavour
Stars: ✭ 23 (-74.73%)
Mutual labels:  websockets, rpc
Rockgo
A developing game server framework,based on Entity Component System(ECS).
Stars: ✭ 532 (+484.62%)
Mutual labels:  rpc, websockets
Gdbgui
Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.
Stars: ✭ 8,339 (+9063.74%)
Mutual labels:  websockets, browser
Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (-5.49%)
Mutual labels:  rpc
Tractor
structured concurrent, Python parallelism
Stars: ✭ 88 (-3.3%)
Mutual labels:  rpc
Arduinowebsockets
arduinoWebSockets
Stars: ✭ 1,265 (+1290.11%)
Mutual labels:  websockets
Flutter browser app
A Full-Featured Mobile Browser App (such as the Google Chrome mobile browser) created using Flutter and the features offered by the flutter_inappwebview plugin.
Stars: ✭ 85 (-6.59%)
Mutual labels:  browser
Run
⚡The resource runtime
Stars: ✭ 90 (-1.1%)
Mutual labels:  rpc
Draw
Real-time collaborative whiteboard on the web
Stars: ✭ 89 (-2.2%)
Mutual labels:  websockets
Flutter inappwebview
A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window.
Stars: ✭ 1,259 (+1283.52%)
Mutual labels:  browser
N2o
⭕ N2O: Distributed Application Server
Stars: ✭ 1,262 (+1286.81%)
Mutual labels:  websockets

wsrpc Build Status Coverage Status Package Version License

node.js/browser protobuf rpc over binary websockets.


Minimal example

my-service.proto

service MyService {
    rpc SayHello (HelloRequest) returns (HelloResponse) {}
}

message HelloRequest {
    required string name = 1;
}

message HelloResponse {
    required string text = 1;
}

server.js

const wsrpc = require('wsrpc')
const protobuf = require('protobufjs')

const proto = protobuf.loadSync('my-service.proto')

const server = new wsrpc.Server(proto.lookupService('MyService'), { port: 4242 })

server.implement('sayHello', async (request) => {
    return {text: `Hello ${ request.name }!`}
})

client.js

const wsrpc = require('wsrpc')
const protobuf = require('protobufjs')

const proto = protobuf.loadSync('my-service.proto')

const client = new wsrpc.Client('ws://localhost:4242', proto.lookupService('MyService'))

const response = await client.service.sayHello({name: 'world'})
console.log(response) // Hello world!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].