socket.io 房间之间的差异

socket.io rooms difference between to and in

我正在努力让自己熟悉 socket.io 和节点。 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 没有
但根据他们的文档,应该 return 相同 o/p。 请有人向我解释一下它们的关键区别 b/w。

就在socket.io doc

namespace.in(room)

Synonym of namespace.to(room).

所以,.to().in()是一样的。


而且,如果您查看 the code,您会看到:

Namespace.prototype.to =
Namespace.prototype.in = function(name){
  if (!~this.rooms.indexOf(name)) this.rooms.push(name);
  return this;
};

所以,.to().in() 运行 是完全相同的代码,所以您认为您看到的任何差异都不是因为调用 .to().to() 之间的差异.in()。一定是因为别的原因。您必须向我们展示一组可重现的代码,这些代码显示出一些差异,以便我们帮助您进行调试。