app.js
var sockect = require('./socket/server')
var users = require('../router/users')
app.use('/users', users); //路由
var server = app.listen(9000, function () {
console.log('server start');
});
sockect(server); //启动socket
server.js
'use strict';
module.exports = function(server) {
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
//如何将这里的socket暴露给其他地方的js方法里使用socket.emit ?
});
return io;
};
上面是我目前的结构,希望在users里面的逻辑里触发emit方法,google了很多,也没有找到有什么办法可以将参数socket传递出去,不然的话所有逻辑只要涉及到socket.emit的都要写在connection的回调里..
server.js檔案中:
然後在users.js寫業務邏輯
我也遇到這個問題,求解
我也覺得外部呼叫
socket
没什么意义。。而且
express
和socket
两者走的协议都不一样,你可以把
user
的身份信息保存在 局部变量socket
的作用域內透過識別資訊來執行對應使用者的操作
同求解,怎麼把那個socket物件暴露出去? ? ? ?
雷雷