do I have to remove event listener when socket is disconnected?

node.js, socket.io

Solution

After digging through the socket.io source, the socket object (which is the EventEmitter) is deleted when the client disconnects so it is not necessary to manually call removeAllListeners.

Problem

In socket.io, when the client is disconnected from the server the `disconnect` event is fired in the server for the socket. Do I have to `removeAllEventListeners()` from the socket `$events`? Or does it happen automatically when the socket dies? I heard that memory leaks can be on the server if i don't do it ...

Original source