Socket.io MVC node.js发射到空间

我一直在研究这个Socket.io MVC node.js,但我目前正在挣扎。

它在文档中说:

Socket.io API的

由于Socket.MVC只是Socket.io的包装机制,所有相同的API都可以使用Socket.MVC模块。 请通过访问Socket.io Github页面或http://socket.io (取决于您的版本)来查看所有API的列表。

我的问题是,我不能find一个方法来发送套接字MVC的房间。

socketMVC.to(userid).emit('message', {message:2}); 

应该工作,但事实并非如此。 任何想法我怎么能做到这一点?

编辑:用户ID是相同的分配在这里:导入*作为从'socket.io客户'的io;

下载

 oninit: this.socket = io(this.socketurl); var privateRoom = socket.request.session.passport.user; socket.join(privateRoom); this.socket.on('message', (data) => { // this.messagesCounter = this.messagesCounter + 1; alert("OMG?"); }); 

编辑,在server.js

 io.on('connection',function(socket) { console.log('user connected'); OnlineUsers.push(socket); // socket.join(''); console.log(socket.request.session.passport); console.log("user is connceted"); socketMVC.init(io, socket, { debug: true, filePath: ['./src/routes/sockets.js'] }); socket.on('disconnect', function(){ console.log('user disconnected'); }); socket.on('add-message',function (message) { io.emit('message', {type:'new-message', text: message}); }); socket.on('myevent', function(someData) { console.log("MYEVENT WORKS???????"); }); }); 

sockets.js

 var path = require('path'); module.exports = function (socket) { var privateRoom = socket.request.session.passport.user; socket.join(privateRoom); socket.on('testing', function() { console.log('GOT SOME SORT OF RESPONSE!!!'); }); }; 

socketMVC.toreplacesocketMVC.io.to

我从来没有使用过Socket.IO MVC,但是在阅读完后,我想我永远不会使用它。 它看起来不像MVC,它纯粹不是一个包装。 我已经写了一个MVC框架(包括HTTP和套接字),我认为当你把你的代码放在一个控制器中,而不是在io.on(“连接”)本身,它只能算作MVC。