Newer
Older
Card9-Skyworks / software / utils / LocalServer.js
@王邈 王邈 on 6 Apr 2015 859 bytes Merge branch 'master' into forSkyWorks
var net = require('net');
var defines = require('./defines');
var fs = require('fs');
var globalEvent = require('../globalEvent');
var server = net.createServer(function(c){
	c.on('data', function(chunk){
		server.emit('command', chunk[0]);
		c.end();
	});
	c.on('end', function(){
	  globalEvent.removeListener('cardScan', listenToCardScan);
	});
	c.on('error', function(){
	  globalEvent.removeListener('cardScan', listenToCardScan);
	})
	
	var listenToCardScan = function(ident){
	  var length = new Buffer(4);
	  length.writeUInt32LE(ident.length, 0);
	  c.write(length);
	  c.write(ident);
	}
	
	globalEvent.on('cardScan', listenToCardScan);
	
});
server.create = function(sockFile, callback){
	fs.unlink(sockFile, function(){
		server.listen(sockFile, function(){
		  fs.chmodSync(sockFile, 0755);
		  callback();
		});
	});
};

module.exports = server;