Awesome
duplex-emitter
Turns a duplex stream into an event emitter.
For instance, when you connect a TCP server and a TCP client using this, when the client emits, the event gets propagated to the server and vice-versa.
Create
var s = net.connect(...);
var duplexEmitter = require('duplex-emitter');
var emitter = duplexEmitter(s);
Emit
You can emit events. They will be serialized (to JSON) and piped to the stream.
emitter.emit('event1', arg1, arg2); // Send event to the other side
Receive
You can listen for events from the peer:
// Got event from the peer
emitter.on('event2', function(arg1, arg2), {
//...
})