Socket.io не тригерит событие 'disconnect' при ручном отключении пользователя

io.on('connection', async (socket) => {

    console.log(socket.id + " connected!");

    const params = socket.handshake.query;

    if (!params.vk_sign) {
        socket.disconnect();
    }

    const sign = check_sign(params.vk_sign);

    if (!sign) {
        socket.disconnect();
    }

    players[socket.id] = 1;
    update_online();

    const player = await get_player(1);
    socket.emit("UserProfile", player);
    
    socket.on('disconnect', () => {

        delete players[socket.id];
        update_online();

        console.log(socket.id + " disconnected!");
    })
});

Есть такой простой код, при какой либо не удачной проверке, я провожу ручное отключение пользователя, посредством: socket.disconnect(); но после этого, серверная часть не вызывает событие disconnect. Почему так происходит? (На клиентской части оно срабатывает)


Ответы (0 шт):