LearnBoost/socket.io — pull request #1391 by pritambaral (2014-01-14 06:50:36+00:00)
Title: "close timeout" should be for client only

"close timeout" is passed to the client, and the client closes connection if no data is exchanged in said timeout. Great. But server also sets a timeout **after** client closes connection. This timeout is completely orthogonal to client's "close timeout".

As per the wiki, which I suspect is a little outdated, "close timeout" is for the server to wait for clients to reconnect **after** closing connections. Since clients are used to "close timeout" as mentioned above, I propose a new option "reopen timeout" for the server, which does exactly what the wiki says for "close timeout".

This is especially helpful with polling transports. Right now, server has to wait polling timeout + close timeout to emit "disconnected". Setting "close timeout" too low to speed up this forces all clients to keep refreshing connections very frequently.