mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
fix(socket) add removeListeners
This commit is contained in:
parent
19da3dd9d9
commit
a7d32ea752
1 changed files with 18 additions and 16 deletions
|
|
@ -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');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue