Node.js 如何在NodeJS 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

我在NodeJS上创建了一个简单的WebSocketServer,一切正常,但是当我连接了一个以上的客户端时,它就不能正常工作了。当我从客户机2发送消息时,只有客户机1收到消息。是否有方法识别不同的客户端并为每个客户端创建唯一的连接

我的Websocketserver如下所示:

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吗?我不知道为什么不可以,尽管我不知道您在哪里使用它很难分辨。