wsrpc
TypeScript icon, indicating that this package has built-in type declarations

1.4.1 • Public • Published

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!

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.4.1
    9
    • latest

Version History

Package Sidebar

Install

npm i wsrpc

Weekly Downloads

9

Version

1.4.1

License

BSD-3-Clause

Unpacked Size

188 kB

Total Files

26

Last publish

Collaborators

  • jnordberg