Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bacher/rpc-json
RPC-JSON
https://github.com/bacher/rpc-json
nodejs rpc
Last synced: about 1 month ago
JSON representation
RPC-JSON
- Host: GitHub
- URL: https://github.com/bacher/rpc-json
- Owner: bacher
- Created: 2017-01-23T21:17:09.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-19T10:53:37.000Z (almost 7 years ago)
- Last Synced: 2024-04-23T23:05:34.285Z (10 months ago)
- Topics: nodejs, rpc
- Language: JavaScript
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
JSON Transport Protocol
Server Example
```javascript
const RequestServer = require('rpc-easy/RequestServer');const server = new RequestServer((apiName, data) => {
return new Promise(resolve => {
console.log(`Api call ${apiName}, data:`, data);
setTimeout(() => {
console.log(`RESP ${data.lol}`);
resolve('OK');
}, 5000);
});
});server.listen({
host: 'localhost',
port: 10101
}, err => {
if (err) {
console.log('Listen Error:', err);
return;
}console.log('Listen 10101');
});server.on('error', err => {
console.log('Server Error:', err)
});
```Client Example
```javascript
const Client = require('rpc-easy/Client');const client = new Client({
port: 10101,
autoReconnect: true,
useQueue: true,
});client.connect();
let i = 0;
setInterval(() => {
const curLol = ++i;console.log(`Request #${curLol}`);
client.request('hello', { lol: curLol }).then(data => {
console.log(`Response #${curLol}:`, data);
}, err => {
console.log(`Error ${curLol}`, err);
});
}, 1000);
```