msgpack-rpc-lite
Implementation of MessagePack-RPC with msgpack-lite
Usage
-
createServer([serverOptions][, codecOptions])
Creates a new MessagePack-RPC server.
-
Server event: method
Emitted when a new connection is made.
- <Array> request parameters.
- <Function> If a request is received, a callback function is passed.
- To return the results to the client, pass
null
as the first argument and response parameters as the second argument. - If an error occurs, pass it to the first argument.
-
createClient(port[, host][, timeout][, codecOptions])
Initiates a MessagePack-RPC client.
port
<number> Port the socket should connect to.host
<string> Host the socket should connect to. Default: 'localhost'
timeout
<number> Sets the socket to timeout after timeout milliseconds of inactivity on the socket. If timeout is 0, then the existing idle timeout is disabled. Default: 0
codecOptions
<Object>
- Return: <Client>
-
client.request(method[, ...args])
method
<string>- Return: <Promise>
-
client.notify(method[, ...args])
method
<string>- Return: <Promise>
Examples
-
Server
const rpc = require('msgpack-rpc-lite');
const server = rpc.createServer().on('say', (params, callback) => {
const [ message ] = params;
callback(null, `hello ${ message }`);
});
server.listen(9199);
-
Client
const rpc = require('msgpack-rpc-lite');
const client = rpc.createClient(9199, 'localhost');
client.request('say', [ 'world' ]).then(([ response ]) => {
console.log(response);
})
Compatibility Mode
Set true
to useraw
of encode
/decode
of Codec-options.
- Client
const codecOptions = { encode: { useraw: true }, decode: { useraw: true } };
const client = rpc.createClient(9199, 'localhost', 0, codecOptions);
See also:
See also