Javascript Express4&x2B;Socket.io 0.9:不同的客户端获得相同的非广播消息

Javascript Express4&x2B;Socket.io 0.9:不同的客户端获得相同的非广播消息,javascript,node.js,sockets,express,socket.io,Javascript,Node.js,Sockets,Express,Socket.io,这是一个通过passport.js使用身份验证的网站 两个不同的用户从不同的浏览器连接,他们请求有关其用户名的信息。服务器获取信息并使用socket.io将其发送回 一切都像一个魔咒,但如果两个客户端同时加载页面,其中一个客户端的信息会传到两个浏览器,看起来服务器正在同一个套接字上写入 服务器端: server.js: var express = require('express'); var app = express(); var http = require('http

这是一个通过passport.js使用身份验证的网站

两个不同的用户从不同的浏览器连接,他们请求有关其用户名的信息。服务器获取信息并使用socket.io将其发送回

一切都像一个魔咒,但如果两个客户端同时加载页面,其中一个客户端的信息会传到两个浏览器,看起来服务器正在同一个套接字上写入

服务器端:

server.js:

var express  = require('express');
var app      = express();
var http     = require('http').createServer(app).listen(8000),
io           = require('socket.io').listen(http);
socket.js:

module.exports = function(app, io) {
  ...
  io.sockets.on('connection', function(socket) { 
    ...
    //Build the information about the user and send it back
    var userData = userInfo();
    socket.emit('userInfo', userData);
    ...
   }
}
客户端(index.ejs中包含的javascript文件):

控制台中的服务器调试获取有关两个套接字的信息:

       debug - client authorized
       info  - handshake authorized Cq71N34XLyAJBTIbHCZQ
       debug - setting request GET /socket.io/1/websocket/Cq71N34XLyAJBTIbHCZQ
       debug - set heartbeat interval for client Cq71N34XLyAJBTIbHCZQ
       debug - client authorized for 
       debug - websocket writing 1::
...
       debug - client authorized
       info  - handshake authorized UF6lOwOFzgjrWY54HCZP
       debug - setting request GET /socket.io/1/websocket/UF6lOwOFzgjrWY54HCZP
       debug - set heartbeat interval for client UF6lOwOFzgjrWY54HCZP
       debug - client authorized for 
       debug - websocket writing 1::
我一直在重写应用程序的不同部分,但我不明白为什么服务器会对不同的套接字应答相同的信息

       debug - client authorized
       info  - handshake authorized Cq71N34XLyAJBTIbHCZQ
       debug - setting request GET /socket.io/1/websocket/Cq71N34XLyAJBTIbHCZQ
       debug - set heartbeat interval for client Cq71N34XLyAJBTIbHCZQ
       debug - client authorized for 
       debug - websocket writing 1::
...
       debug - client authorized
       info  - handshake authorized UF6lOwOFzgjrWY54HCZP
       debug - setting request GET /socket.io/1/websocket/UF6lOwOFzgjrWY54HCZP
       debug - set heartbeat interval for client UF6lOwOFzgjrWY54HCZP
       debug - client authorized for 
       debug - websocket writing 1::