Мне нужен только socket.io для отправки сообщений клиентам, если новый объект вставляется в базу данных. Поэтому моя идея состояла в том, чтобы выпустить сообщение непосредственно из моего метода insert-method. В моем файле server.js iam создает объект socket.io и пытаюсь сделать его доступным для других модулей:
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
//make socket io accessible for other modules
module.exports.io = io;
В моем контроллере я пытаюсь использовать socket.io следующим образом:
var io = require('../server').io;
...
io.sockets.on("connection", function(socket){
passportSocketIo.filterSocketsByUser(io, function (user) {
return user.workingAt === socket.handshake.user.workingAt;
}).forEach(function(s){
s.send("news", insertedObject);
});
});
И здесь ям застрял. Событие "соединение" никогда не будет запущено, поэтому сообщение не будет выбрано. Это правильный способ использования socket.io в отдельных файлах? К сожалению, я не могу найти сложный пример socket.io.