feature(console) add socket, change socket api: callback last

This commit is contained in:
coderaiser 2014-09-02 07:40:12 -04:00
parent 49621e5133
commit 7866417ebb
4 changed files with 39 additions and 25 deletions

View file

@ -160,16 +160,16 @@
}
function addSockets(server) {
var listen, msg,
var socket, msg,
config = main.config,
status = 'off';
if (config.socket && Socket) {
listen = Socket.listen(server);
socket = Socket.listen(server);
if (listen) {
if (socket) {
status = 'on';
Console();
Console(socket);
Terminal();
}
}

View file

@ -19,8 +19,8 @@
CHANNEL = CloudFunc.CHANNEL_CONSOLE;
module.exports = function(onMsg) {
socket.on('connection', function(clientSocket) {
module.exports = function(io, onMsg) {
socket.on('connection', io, function(clientSocket) {
onConnection(clientSocket, onMsg, function(error, json) {
socket.emit(CHANNEL, json, clientSocket);
});
@ -67,12 +67,12 @@
log(conNum, 'console disconnected');
socket.removeListener(CHANNEL, onMessage, clientSocket);
socket.removeListener('disconnect', onDisconnect, clientSocket);
socket.removeListener(CHANNEL, clientSocket, onMessage);
socket.removeListener('disconnect', clientSocket, onDisconnect);
}.bind(null, ConNum);
socket.on(CHANNEL, onMessage, clientSocket);
socket.on('disconnect', onDisconnect, clientSocket);
socket.on(CHANNEL, clientSocket, onMessage);
socket.on('disconnect', clientSocket, onDisconnect);
} else {
msg = log(ConNum, ' in use. Reconnecting...\n');

View file

@ -4,6 +4,9 @@
var DIR = '../',
Util = require(DIR + 'util'),
io = tryRequire('socket.io'),
Socket,
AllListeners = [];
exports.on = addListener;
@ -13,14 +16,21 @@
exports.emit = emit;
exports.listen = listen;
function addListener(name, func, socket) {
if (!socket)
socket = io.sockets;
function addListener(name, socket, func) {
if (!func) {
func = socket;
socket = Socket;
}
Util.addListener(name, func, AllListeners, socket);
}
function removeListener(name, func, socket) {
function removeListener(name, socket, func) {
if (!func) {
func = socket;
socket = Socket;
}
Util.removeListener(name, func, AllListeners, socket);
}
@ -47,10 +57,14 @@
* @server {Object} started server object
*/
function listen(server) {
if (io)
io = io.listen(server);
var result;
return io;
if (io) {
result = io.listen(server);
Socket = result.sockets;
}
return Socket;
}
function tryRequire(name) {

View file

@ -18,7 +18,7 @@
ConNum = 0;
module.exports = function() {
module.exports = function(io) {
var makePty = function(clientSocket) {
onConnection(clientSocket, function(channel, data) {
socket.emit(channel, data, clientSocket);
@ -26,7 +26,7 @@
};
if (pty)
socket.on('connection', makePty);
socket.on('connection', io, makePty);
};
function onConnection(clientSocket, callback) {
@ -46,16 +46,16 @@
log(conNum, 'terminal disconnected');
socket.removeListener(CHANNEL, dataFunc, clientSocket);
socket.removeListener(CHANNEL_RESIZE, resizeFunc, clientSocket);
socket.removeListener('disconnect', onDisconnect, clientSocket);
socket.removeListener(CHANNEL, clientSocket, dataFunc);
socket.removeListener(CHANNEL_RESIZE, clientSocket, resizeFunc);
socket.removeListener('disconnect', clientSocket, onDisconnect);
term.destroy();
}.bind(null, ConNum, term);
socket.on(CHANNEL, dataFunc, clientSocket);
socket.on(CHANNEL_RESIZE, resizeFunc, clientSocket);
socket.on('disconnect', onDisconnect, clientSocket);
socket.on(CHANNEL, clientSocket, dataFunc);
socket.on(CHANNEL_RESIZE, clientSocket, resizeFunc);
socket.on('disconnect', clientSocket, onDisconnect);
} else {
log(ConNum, ' in use. Reconnecting...\n');
socket.disconnect();