¿Socket.io demora en disparar el evento de "desconexión"?

Tengo un cliente socket.io conectado a un servidor node.js. Si elimino node.js en la línea de comando, el cliente se congela inmediatamente (es decir, la comunicación se detiene), pero hay un retraso de ~ 20 segundos antes de que se active el evento de "desconexión". ¿Es este comportamiento por diseño? ¿Existe una opción de configuración para reducir el retraso al disparar el evento de desconexión?

Parece que este comportamiento cambió en una actualización relativamente reciente (últimos 6 meses) de socket.io. Antes de que la funcionalidad de reconexión se integrara en socket.io, implementé mi propia lógica de reconexión utilizando un controlador de eventos "desconectar" y en ese momento el evento "desconectar" se disparó casi instantáneamente cuando la comunicación del servidor se detuvo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta