【发布时间】:2016-09-29 05:45:55
【问题描述】:
如何跟踪socket.io 中所有连接的客户端?
我在服务器上试过这个:
let numSockets = 0;
io.on('connection', (socket) => {
io.sockets.emit('numSockets', ++numSockets);
socket.on('disconnect', () => {
io.sockets.emit('numSockets', --numSockets);
});
});
这在客户端:
const socket = io();
socket.on('numSockets', function (numSockets) {
console.log(numSockets);
});
它确实打印了一个数字,但是这个数字,但是,如果我打开 2 个窗口,它会显示 4 个连接的套接字。
这是正确的做法吗?
我想要实现的是在我网站的侧边栏中打印已连接套接字的 ID 列表,并让用户根据需要设置用户名(而不是自动生成的 ID)。
但在继续此之前,我会确保我能够以正确的方式跟踪套接字。
【问题讨论】:
标签: javascript node.js sockets websocket socket.io