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。
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()
。一定是因为别的原因。您必须向我们展示一组可重现的代码,这些代码显示出一些差异,以便我们帮助您进行调试。
我正在努力让自己熟悉 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。
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()
。一定是因为别的原因。您必须向我们展示一组可重现的代码,这些代码显示出一些差异,以便我们帮助您进行调试。