Skip to content

Instantly share code, notes, and snippets.

@thomaspockrandt
Last active August 29, 2015 14:22
Show Gist options
  • Save thomaspockrandt/a81ced643beff331400a to your computer and use it in GitHub Desktop.
Save thomaspockrandt/a81ced643beff331400a to your computer and use it in GitHub Desktop.
var net = require("net");
var fs = require("fs");
// server
var port = "/tmp/stream";
var sockets = [];
var server = net.createServer(function(socket) {
sockets.push(socket);
socket.on("close", function() {
sockets.splice(sockets.indexOf(socket), 1);
});
});
fs.stat(port, function(err, stats) {
// prevent EADDRINUSE error
if (!err) {
fs.unlinkSync(port);
}
server.listen(port);
});
// server:broadcast
sockets.forEach(function(socket) {
var buffer = new Buffer("broadcast message", "utf-8");
socket.write(buffer);
});
// client
var client = net.connect("/tmp/stream");
client.on("data", function(data) {
console.log(data.toString("utf-8"));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment