var fs = require('fs');
var net = require('net');
var socketAddr = '/tmp/domain.sock';
var server = net.createServer(function(c) { console.log('server connected');
c.on('end', function() {
});
c.on('data', function(d) {
console.log("got data!", d);
});
});
server.on('error', function (e) {
if (e.code == 'EADDRINUSE') {
var clientSocket = new net.Socket();
clientSocket.on('error', function(e) { if (e.code == 'ECONNREFUSED') { fs.unlinkSync(socketAddr);
server.listen(socketAddr, function() { console.log('server recovered');
});
}
});
clientSocket.connect({path: socketAddr}, function() {
console.log('Server running, giving up...');
process.exit();
});
}
});
server.listen(socketAddr, () => console.log('server bound'));