我的socketio收集用户脚本;
var users = [];
io.sockets.on( 'connection', function( socket ) {
socket.on('new user', function(data) {
socket.nickname = data.nick;
users[socket.nickname] = socket;
});
});
我想删除已断开连接的用户。做完了;
socket.on('disconnect', function() {
delete users[socket.nickname];
});
之后,没有错误。但是当我做的时候
console.log(typeof users[socket.nickname]);
它为我提供object
此外,还有一些关于用户的垃圾数据。 (套接字事件监听器,命名空间)。在不留下任何数据的情况下完全删除用户的正确方法是什么?
答案 0 :(得分:2)
socket.on('disconnect', function() {
socket.get('nickname', function(err, user) {
delete users[user];
io.sockets.emit('update', users);
});
});