我希望能够从我的快速路由文件向连接到socket.io服务器的客户端发送数据.
我的app.js看起来像这样:
var express = require('express'); var app = express(); //routes require('./routes/test')(app); // starting http server var httpd = require('http').createServer(app).listen(8000,function(){ console.log('HTTP server listening on port 8000'); }); var io = require('socket.io').listen(httpd,{ log: false }); io.on('connection',function(socket){ socket.join("test"); socket.on('message',function(data){ ..... }); }); module.exports = app;
我的test.js文件:
module.exports = function(app){ app.post('/test',function(req,res){ ..... //I would like here be able to send to all clients in room "test" }); };
解决方法
只需将io对象作为参数注入routes模块:
app.js:
var express = require('express'); var app = express(); // starting http server var httpd = require('http').createServer(app).listen(8000,function(data){ ..... }); }); //routes require('./routes/test')(app,io); module.exports = app;
test.js:
module.exports = function(app,io){ app.post('/test',res){ ..... //I would like here be able to send to all clients in room "test" io.to('test').emit('some event'); }); };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。