fix(socket) add removeListeners

This commit is contained in:
coderaiser 2014-01-24 07:56:15 -05:00
parent 19da3dd9d9
commit a7d32ea752

View file

@ -17,7 +17,7 @@
CLOUDCMD = mainpackage.name,
ClientFuncs = [],
ClientDirs = [],
OnMessageFuncs = [],
Clients = [],
INFO_LOG_LEVEL = 2,
ENV = process.env,
WIN32 = main.WIN32,
@ -77,20 +77,28 @@
]);
lRet = io.sockets.on('connection', function (socket) {
var onDisconect, onConnect;
++lConnNum;
if (!OnMessageFuncs[lConnNum]) {
if (!Clients[lConnNum]) {
lMsg = log(lConnNum, 'connected\n');
jsonSend(socket, {
stdout : lMsg
});
OnMessageFuncs[lConnNum] = onMessage(lConnNum, socket);
lConn_func = OnMessageFuncs[lConnNum];
Clients[lConnNum] = true;
onConnect = onMessage(lConnNum, socket);
onDisconect = Util.retFunc(disconnect, lConnNum);
socket.on('message', lConn_func);
socket.on('disconnect', Util.call(disconnect, lConnNum));
socket.on('message', onConnect);
socket.on('disconnect', function() {
socket.removeListener('message', onConnect);
socket.removeListener('disconnect', onDisconect);
socket = null;
});
} else {
lMsg = log(lConnNum, ' in use. Reconnecting...');
@ -107,17 +115,11 @@
return lRet;
};
function disconnect(pParams) {
var lConnNum, lRet = Util.checkObj(pParams, ['params']);
if (lRet) {
lConnNum = pParams.params;
OnMessageFuncs [lConnNum] =
ClientFuncs [lConnNum] = null;
log(lConnNum, 'disconnected');
}
function disconnect(connNum) {
OnMessageFuncs [connNum] =
ClientFuncs [connNum] = null;
log(connNum, 'disconnected');
}
/**