提问下 一个websocket 聊天小软件的问题 内详
发布于 2年前 作者 alaoteman 936 次浏览

ws.on('close’, function(){ }); 用户失去连接的时候触发的时间

我如何获取用户信息?我想得到这个失去连接的用户信息 要如何去做 代码在下面

var clients = new Array(); var userList = []; var userId = 0; var idList = []; var uname; var t=0; wss.on('connection’, function(ws){
clients.push([ws,userId]); idList.push(userId); ++userId;

ws.on('message’, function(msg){

});

ws.on('close', function(){

});

晓得的帮帮忙 谢谢拉

3 回复

个人见解,你可以在connection事件的回调函数中增加几个变量,连接成功后用户的信息(比如用户名等)就可以保存在这些变量中。然后在用户失去连接的时候,就可以在close事件的回调函数中通过闭包的方式获取这些信息了。不知道能不能帮到你,也欢迎更多的高手来帮忙。

var clients = {};
wss.on('connection', function(ws){
  clients.push([ws,userId]);
  var cid = client.id;
  clients[cid]=[ws,'另外的一些信息'];
  ws.on('disconnect',function(){
    delete clients[cid][0];
    console.log('Client['+cid+'] has disconnected');
    console.log('User info '+clients[cid][1]);
  });
});

谢谢大家的回答

回到顶部