【问题标题】:is it possible to know which user disconnects in websocket node js?是否有可能知道哪个用户在 websocket 节点 js 中断开连接?
【发布时间】:2017-11-19 09:57:11
【问题描述】:

我想知道哪个用户断开了 websocket node js,如果有用户与服务器断开连接,我已经设法显示一条消息,但不知道谁断开了连接。这是我的简单代码

var server = require('ws').Server;
var s = new server({ port:5001 });
s.on('connection',function(ws){
    ws.on('message',function(message){
        console.log("Receive : "+ message);
        ws.send(message);
    });
    ws.on('close',function(){
        console.log("i lose a client");
    });
    console.log("1 more client connected");
});

【问题讨论】:

  • 我认为这取决于您执行客户端身份验证的方式以及存储数据的位置。在客户端身份验证期间,您可以(应该能够)添加将用户数据附加到特定 Web 套接字连接对象(即ws.user = user_data)的逻辑......这将允许您在连接的整个生命周期内访问用户数据。

标签: javascript node.js websocket


【解决方案1】:

套接字(ws)有一个id:

s.on('connection',function(ws){
    ws.on('message',function(message){
       console.log("Receive : " + message + " from " + ws.id);
       ws.send(message);
    });
    ws.on('close',function(){
        console.log("i lose client" + ws.id);
    });
    console.log(ws.id + " connected");
});

【讨论】:

  • 我试过了,我得到消息“接收未定义的消息”,它是如何定义的。
猜你喜欢
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2017-05-09
  • 2014-03-13
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多