I am trying to send a message from NodeJS server to client using socket.io
However, I found the same practice all over the internet, which is wrapping the emit with io.on('connection', handler) and then making the server listen on a special "channel" event like so:
var io = require('socket.io')(); var socketioJwt = require('socketio-jwt'); var jwtSecret = require('./settings').jwtSecret; var User = require('./models/users').User; io.set('authorization', socketioJwt.authorize({ secret: jwtSecret, handshake: true })); var sockets = []; io.on('connection', function(socket) { sockets.push(socket); }); sendLiveUpdates = function(gameSession) { console.log(sockets); } exports.sendLiveUpdates = sendLiveUpdates; exports.io = io; My problem is: I want to emit messages outside this on connection wrapper, example from my routes or other scripts. Is it possible?
Thanks.