我试图让自己熟悉socket.io和node。https://socket.io/docs/rooms-and-namespaces/
这是我的参考。
var socketIO = require('socket.io')(http);
socketIO.on('connection', function(socket) {
socket.join(data.room);})
socketIO.in(users[key].room).emit('newmsg', data);
socketIO.to(users[key].room).emit('newmsg', data);
在这里,带有socketio.in的代码给出输出,而socketio.to不
但是根据他们的文档,并应返回相同的o/p。有人请向我解释b/w他们的关键差异。
在socket.io doc:
中namespace.in(room)
Synonym of namespace.to(room).
所以, .to()
和 .in()
是相同的。
,如果您在代码中查看,您会看到以下内容:
Namespace.prototype.to =
Namespace.prototype.in = function(name){
if (!~this.rooms.indexOf(name)) this.rooms.push(name);
return this;
};
因此,.to()
和.in()
都运行完全相同的代码,因此您认为所看到的任何区别都不是因为调用.to()
或.in()
之间的区别。这一定是由于其他原因。您必须向我们展示一套可再现的代码集,该集合为我们显示一些不同的代码,以帮助您调试。