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