socket.io房间之间的差异



我试图让自己熟悉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()之间的区别。这一定是由于其他原因。您必须向我们展示一套可再现的代码集,该集合为我们显示一些不同的代码,以帮助您调试。

相关内容

最新更新