socket.io – 触发从服务器端发射?

我怎样才能触发从socketIO的服务器端发出? 我在我的nodejs服务器上有一个socket.on('My_Event') ,我希望通过.emit('My_Event')从服务器的其他地方触发该事件。
我的目标是向客户端广播一些通知数据。

服务器端 – app.js

 var app = express(), server = http.createServer(app), io = require('socket.io')(server); io.on('connection', function(socket){ socket.on('My_Event', function(data){ socket.volatile.emit('event', data); }); }); server.listen(config.listenPort, '0.0.0.0', 511, function() { // config.listenPort is already defined console.log('node Server - listening on port: ' + config.listenPort); }); 

导出 – 我想要触发事件的模块

 var io = require('socket.io')(); exports.addStrategy = function(app) { var fn = { doSomething : function(req, res, next) { // HERE I wish to trigger my socket event // io.emit('MY_EVENT', {}); ???? res.status(200).json(done()); }; return fn; }; 

到目前为止,我无法得到它的工作。 我应该怎么做?

一种select是创build一个Socket.IO的单个全局实例,最终可以跨多个模块/应用程序共享。

 global.socket = require('socket.io').listen(app); 

快乐帮助!