socket.io 1.x 에서 disconnect 이벤트는 socket 에 저장된 id가 이미 삭제된 상태로 disconnect 이벤트가 처리된다. join된 room정보가 필요할 경우 socket.io 의 onclose 를 오버라이딩해서 처리하면 된다. io.of('/').on('connection', function(socket) { // overridding, ref:node_modules/socket.io/lib/socket.js:416 socket.onclose = function( reason ){ if (!this.connected) return this; //debug('closing socket - reason %s', reason); myfunc( this.id ); // myfunc(..