Я работаю над проектом node.js, в котором я использую Socket.IO, и у меня возникла проблема с решением проблемы с областями видимости.Вот что я пытаюсь сделать:
var io = require('socket.io').listen(80);
session_manager = require('./includes/session_manager');
// client joins the socket server
io.sockets.on('connection', function(client) {
client.on('X.Session.join', function(session_id, client) {
session_manager.joinSession(session_id, function(err, session) {
// do whatever
});
});
// BRING IN MORE LISTENERS/EMITTERS?
require('someModuleIBuild');
});
Как вы можете видеть, я в основном устанавливаю начальное соединение, присоединяясь к сеансу через управляющий класс (так что я знаю, кому отправлять сообщения для какого сеанса)а затем я пытаюсь динамически внести некоторые пользовательские вещи, которые также будет излучать и прослушивать через сокет соединение.
Итак, как я могу сослаться на это текущее соединение из-за пределов моих пользовательских модулей?Все примеры, которые я видел, содержат все функции «on» и «emit» в одном файле, что, похоже, может довольно быстро выйти из-под контроля.
Возможно, я слишком обдумываю / усложняю это (это мой первый проект node.js, первый проект на основе сокетов, первый проект в основном на javascript и т. Д.), Но любая помощь будет принята.