From 9463f861fb2f6f0133d1bd5c4d8488d53d43d9db Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 27 Jan 2014 08:32:45 -0500 Subject: [PATCH] refactor(socket)add onConnection --- lib/server/socket.js | 71 ++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/lib/server/socket.js b/lib/server/socket.js index 10ed8282..419cde66 100644 --- a/lib/server/socket.js +++ b/lib/server/socket.js @@ -24,6 +24,7 @@ INFO_LOG_LEVEL = 2, ENV = process.env, WIN32 = main.WIN32, + ConNum = 0, HELP = { stdout : CLOUDCMD + ' exit \n' + CLOUDCMD + ' update \n', @@ -51,11 +52,10 @@ * @pServer {Object} started server object */ exports.listen = function(pServer) { - var lRet, lConnNum, lMsg; + var ret; if (io) { io = io.listen(pServer); - lConnNum = 0; io.set('log level', INFO_LOG_LEVEL); @@ -79,45 +79,44 @@ 'jsonp-polling' ]); - lRet = io.sockets.on('connection', function (socket) { - var onDisconect, onConnect; - - ++lConnNum; - - if (!Clients[lConnNum]) { - lMsg = log(lConnNum, 'connected\n'); - - jsonSend(socket, { - stdout : lMsg - }); - - Clients[lConnNum] = true; - onConnect = onMessage(lConnNum, socket); - onDisconect = Util.retFunc(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...'); - - jsonSend(socket, { - stdout: lMsg - }); - - socket.disconnect(); - } - - }); + ret = io.sockets.on('connection', onConnection); } return lRet; }; + function onConnection(socket) { + var msg, onDisconect, onConnect; + + ++ConNum; + + if (!Clients[ConNum]) { + msg = log(ConNum, 'connected\n'); + + jsonSend(socket, { + stdout : msg + }); + + Clients[ConNum] = true; + onConnect = onMessage(ConNum, socket); + onDisconect = Util.retFunc(disconnect, ConNum); + + socket.on('message', onConnect); + socket.on('disconnect', function() { + socket.removeListener('message', onConnect); + socket.removeListener('disconnect', onDisconect); + }); + } else { + msg = log(ConNum, ' in use. Reconnecting...'); + + jsonSend(socket, { + stdout: msg + }); + + socket.disconnect(); + } + } + function disconnect(connNum) { OnMessageFuncs [connNum] = ClientFuncs [connNum] = null;