Жаль я пытался отправить мессагу, но при попытке отправки выдавало 500
Думаю ладно, поступлю умнее, отправлю в лс
В лс тоже 500
Я хз, как нужно было постараться, чтобы отвалилось вообще всё за раз
Ниже будет чисто ИМХО из опыта работы с socket.io
Если ты делаешь одиночный emit к коннекту пользователя (socket.emit) и пользователя нет, то он должен просто уйти в никуда. Оно не хранится нигде дополнительно и не ожидает появления клиента alife, так что тут не совсем понимаю, почему должна быть утечка памяти - после отправки он за собой всё и так почистит. Если по какой-то неведомой причине пакет не дошёл до клиента, то не будет никакого подтверждения, что он его получил (UDP)
Если ты делаешь emit к руме (socket.to(code).emit), то он получит, кто есть в руме, и потом разошлёт всем
Если ты выходишь (вручную или обрыв не по твоей вине, событие disconnect), то он удалит тебя из румы и всё
НО
Если у тебя какое-то условие, которое таймером спамит клиенту (тяжело представить адекватное использование в таком ключе, но пусть будет как пример), и вызывается оно из connection, то да, стоит каждый раз проверять внутри таймаута, жив ли юзер, т.к. этот таймер не удалится при дисконнекте юзера и будет жить вечно, и сокет будет вечно слать в несуществующий коннект данные, пока ты не ребутнешь ноду. Вот тут будет утечка памяти, да