cryptocurrency-pool-server
Version:
An extremely efficient, highly scalable, all-in-one, easy to setup cryptocurrency pool server
46 lines (34 loc) • 1.21 kB
JavaScript
var events = require('events');
var net = require('net');
var listener = module.exports = function listener(host, port){
var _this = this;
var emitLog = function(text){
_this.emit('log', text);
};
this.start = function(){
net.createServer(function(c) {
var data = '';
try {
c.on('data', function (d) {
data += d;
if (data.slice(-1) === '\n') {
var message = JSON.parse(data);
_this.emit('command', message.command, message.params, message.options, function(message){
c.end(message);
});
}
});
c.on('end', function () {
});
c.on('error', function () {
});
}
catch(e){
emitLog('CLI listener failed to parse message ' + data);
}
}).listen(port, host, function() {
emitLog('CLI listening on ' + host + ':' + port)
});
}
};
listener.prototype.__proto__ = events.EventEmitter.prototype;