所有连接的socket.io列表

时间:2018-10-12 06:04:09

标签: node.js express socket.io

我将创建两个辅助项目。 side-1是管理员端,side-2是客户端端。我想要的是,管理员可以列出所有已连接的客户端并查看它们的连接状态(在线-离线)。我使用node.js + express.js + socket.io。请帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用套接字中使用的客户端密钥和状态获取连接的客户端。

示例:

假设要获取在线客户端,您需要使用键名客户端(例如客户端)加载有效负载:

{
    { 
    id: 'client 1',
    status:'offline'
    },
    {
    id:'client 2',
    status:'online'
    }
}

现在您可以获得以下在线客户,

const onlineClients = Object.values(io.of(namespace).connected)
    .map(socket => socket.clients)
    .filter(client => client && client.status === 'online');