Skip to content

Instantly share code, notes, and snippets.

@Raynos
Created March 3, 2015 23:53
Show Gist options
  • Save Raynos/14aed1a7e0788c0cdde1 to your computer and use it in GitHub Desktop.
Save Raynos/14aed1a7e0788c0cdde1 to your computer and use it in GitHub Desktop.
'use strict';
var through = require('through');
var ss = require('stream-serializer').json;
var net = require('net');
var dba = null;
var dbb = null;
function boilerplateCreateServer(db) {
var server = net.createServer(function (socket) {
socket = ss(socket);
socket
.pipe(replicate(db))
.pipe(socket);
});
server.listen(8000);
}
boilerplateCreateServer(dba);
function boilerplateCreateClient(db) {
var client = net.connect(8000);
client = ss(client);
client
.pipe(replicate(db))
.pipe(client);
}
boilerplateCreateClient(dbb);
function replicate(database) {
var stream = through(function (data) {
console.log('msg', data);
if (data && data.msg === 'hello') {
stream.write({ msg: 'bye' });
}
});
stream.write({ msg: 'hello' });
return stream;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment