node.js socket.io 混淆 "socket" 在不同的命名空间下

node.js socket.io confusing "socket" under different namespace

如果我两者都有

var io = io.of('/')
io.on('connection', function(socket){
  socket.on('disconnect', function(){ });
});

var nsp = io.of('/my-namespace');
nsp.on('connection', function(socket){
  socket.on('disconnect', function(){ });
});

每个名字space里面调用socket.on()会不会有冲突?

不,不会有任何冲突。当 socket.on() 在不同的 namespace-d io 连接中被调用时,它们是相互隔离的。 从 front-end 连接时,它们仍然是单独的连接。

两个 socket.on 语句都在与不同的 socket 对象对话。

nsp.on('connection', function(socket){

为您提供每个连接的新对象。