I was looking into a way to detect connection errors on server side (e.g. for logging purposes). The only way it can be done seems to be attaching custom request listener to the underlying http server. Check for response status code and in the case of 400 rediscover the reason (bad transport, bad method, unknown session ID) manually. It would be nice to have it accessible programmatically somehow in the process running a socket.io server.