I need to emit the socket from the server from anywhere on server code, Router/Controller. I checked and some of the threads and Google but nothings works as expected.
app.js
var app = require('express').createServer();
var io = require('socket.io')(app);
require(./router.js)(app)
require(./socket.js)(io)
app.listen(80);
router.js
module.exports = function (app) {
app.use('/test', require(./controller.js));
return app;
};
socket.js
io.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
controller.js
var express = require('express');
var router = express.Router();
router.get('/about', function(req, res) {
// I need to emit here
});
module.exports = router;
This is not a extract code I am using. This is an structure how I am using and where I need to call.