Node.js 如何在NodeJS WebSocketServer上识别不同的客户端,以便每个客户端都有一个唯一的连接?
我在NodeJS上创建了一个简单的WebSocketServer,一切正常,但是当我连接了一个以上的客户端时,它就不能正常工作了。当我从客户机2发送消息时,只有客户机1收到消息。是否有方法识别不同的客户端并为每个客户端创建唯一的连接 我的Websocketserver如下所示:Node.js 如何在NodeJS WebSocketServer上识别不同的客户端,以便每个客户端都有一个唯一的连接?,node.js,sockets,websocket,Node.js,Sockets,Websocket,我在NodeJS上创建了一个简单的WebSocketServer,一切正常,但是当我连接了一个以上的客户端时,它就不能正常工作了。当我从客户机2发送消息时,只有客户机1收到消息。是否有方法识别不同的客户端并为每个客户端创建唯一的连接 我的Websocketserver如下所示: function startupTheWebSocketServer(app, config) { var clients=[] var WebSocketServer = require('webso
function startupTheWebSocketServer(app, config) {
var clients=[]
var WebSocketServer = require('websocket').server;
console.log(" * Web Socket server will be set up in a moment...")
var wsServer = new WebSocketServer({
httpServer: app,
});
var url = "ws://localhost:" + config.server_port
wsServer.on('request', function(request) {
var connection = request.accept();
clients.push(connection)
console.log(" * WebSocketServer-INFO: A client has connected.")
var infomsg_to_client = {
"WS-INFO": "Welcome. Send me any message you like"
}
connection.sendUTF(JSON.stringify(infomsg_to_client));
我尝试创建一个唯一的id,但我不确定如何将其添加到每个客户端:
wsServer.getUniqueID = function () {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
}
return s4() + s4() + '-' + s4();
};
您可以简单地将id添加到连接中,如so
connection.id=wsServer.getUniqueID()
或者如果需要用户登录,您可以在用户登录后添加用户对象或用户id。@Molda我可以在url变量中添加唯一id吗?我不知道为什么不可以,尽管我不知道您在哪里使用它很难分辨。