Ответы пользователя по тегу JavaScript
  • Как добиться удаления объекта в JS?

    clients[socket.id] = undefined;
    delete clients[socket.id];

    Тут два раза делаете одно и тоже действия.

    Однако при одключении клиента объект клиента никуда не девается, и продолжает ловить сообщения, и слать в отключенный сокет. Я так понимаю, что отключенный сокет тоже никуда не девается и отличается только свойствами connected/disconnected.

    Все правильно, потому что в конструкторе клиента вы подписались на событие:
    this.app.on('chat.sendMessage', this.sendMessage.bind(this));

    но забыли отписаться при диссконнекте.
    Ответ написан