我的问题是我目前使用库发送特定套接字的解决方案" ws"使用node.js还不够好。
原因是因为如果我使用在客户端定义的相同用户标识将多个标签连接到websocket服务器,它将仅引用与指定用户标识的最新连接。
这是我的代码:
// Server libraries and configuration
var server = require("ws").Server;
var s = new server({ port: 5001});
// An array which I keep all websockets clients
var search = {};
s.on("connection", function(ws, req) {
ws.on("message", function(message){
// Here the server process the user information given from the client
message = JSON.parse(message);
if(message.type == "userinfo"){
ws.personName = message.data;
ws.id = message.id;
// Defining variable pointing to the unique socket
search[ws.id] = ws;
return;
}
})
})
如您所见,每次具有相同ID的套接字连接时,它将引用最新的套接字。
示例如果你不明白:
答案 0 :(得分:0)
Websockets提供了一种创建低延迟网络的方法" socket"浏览器和服务器之间。
请注意,此处的客户端是浏览器,而不是浏览器上的标签。
如果您需要在浏览器和服务器之间管理多个用户会话,则需要编写代码来自行完成。