mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
feature(console) add socket, change socket api: callback last
This commit is contained in:
parent
49621e5133
commit
7866417ebb
4 changed files with 39 additions and 25 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue