首页 > 解决方案 > 断开连接时的 Node.js 套接字更新服务器端的用户列表

问题描述

我有一个有活跃用户列表的聊天室。

在新连接上,用户名被发送到服务器,服务器将其添加到数组中并将用户名发送回所有连接的套接字以将该新用户名添加到用户列表中。它工作正常。

但是,我似乎无法从数组中删除用户。在客户端,我想向服务器发出事件,让它知道哪个用户正在离开并相应地更新?

标签: node.jssocket.io

解决方案


您不需要从客户端发出任何事件来告诉服务器客户端已断开连接。

disconnect只需在服务器端收听事件:

https://socket.io/docs/server-api/#event-disconnect

socket.on('disconnect', (reason) => {
  // remove user from the array
  // broadcast the updated user list to connected sockets
});

推荐阅读