简体   繁体   English

创建 websocket 连接时如何从快速服务器中的客户端获取 id?

[英]How get id from client in express server when creating websocket connection?

I have client and server express with websocket.我有 websocket 的客户端和服务器快递。

I have on client unique id (id = xxxxxxx)我有客户端唯一 ID (id = xxxxxxx)

How when i creating new WebSocket connect on client, get this id on server?当我在客户端创建新的 WebSocket 连接时,如何在服务器上获取此 ID?

Client:客户:

let socket = new WebSocket("ws://localhost:7000");

Server:服务器:

const webSocketServer = new WebSocket.Server({ server });
webSocketServer.on("connection", async (ws) => {

    ws.getUniqueID = function () {
        function s4() {
            return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
        }
        return s4() + s4() + '-' + s4();
    };
    ws.id = ws.getUniqueID()
    ws.isAlive = true;
    ws.on('pong', () => {
        ws.isAlive = true;
    });
    ws.on('message', async function(message) {
        let req = JSON.parse(message)
        switch (req['type']) {
            case 'phone':
                break
            case 'code':
                break
            default:
                break
        }
    });
    ws.onclose = function(event) {
        if (event.wasClean) {

        } else {

        }

    };
    ws.onerror = function(error) {

    };
    clients.saveClient(ws.id, ws)
});
async function getCookie(cookie, name) {
    let value = "; " + cookie;
    let parts = value.split("; " + name + "=");
    if (parts.length == 2) return parts.pop().split(";").shift();
}
webSocketServer.on("connection", async (ws, req) => {
    const ip = req.connection.remoteAddress;
    let id = await getCookie(req.headers['cookie'], 'name')...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从客户端获取 id?(快递和猫鼬) - How to get id from client?(express and mongoose) 无法在反应客户端和快速服务器之间建立 websocket 连接 - Can't make a websocket connection between react client and express server 打开连接后如何从javax websocket服务器获取消息 - How to get message from javax websocket server when connection has been opened 如何在WebSocket服务器中获取MQTT客户端的主题 - How to get topic of mqtt client in websocket server 如何在 express 的 get 请求中执行 websocket 连接事件? - how to do websocket connection event inside of express`s get request? 如何使用 ws 库在 websocket 客户端中获取连接数据 - How to get connection data in websocket client with ws library 如何从WebSocket连接保存来自客户端的传入文本文件 - How to save incoming textfile from client from websocket connection websockets-从websocket服务器获取消息并将其发送给客户端 - websockets - get message from a websocket server and send it to client 为连接到Websocket服务器的客户端生成唯一ID - Generating unique ID for client connected to a websocket server 使用 express 从节点服务器向客户端发送数据时出现错误 JavaScript - I get error when sending data using express from node server to client side JavaScript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM