JSONbus
Very fast, async and simple JSON message passing over TCP with auto reconnecting client and the ability to have multiple server responses to client's single request.
Server
.createServer() accepts default net.createServer options
var bus= var server= busserver
Client
var bus= var client= bus // no server response aka "fire and forget"client // single server responseclient // multiple server responsesclient
bus.connect(options)
- options accepts:
- default net.connect options
- reconnect options
- requestTimeout in milliseconds, default is 0 (no timeout), callback will be called with undefined arguments
client.request(object, options)
- object any JSON.stringify-able object
- options a callback function or options object {callback, keepAlive, timeout}
- callback
- keepAlive client must manually call the end() on server's response to cleanup requests data
- timeout overrides .connect's requestTimeout
Benchmarking
Below is Mac Air 2013 results (25k send->receive->reply->receive on a single core)
$ node test.js 25000 > client sent and received 25000 responses in 0.892473207 seconds
Installation
npm install jsonbus