Socket.io: Como lidar com o fechamento de conexões?

Estou tentando entender quais são os limites "físicos" do meu aplicativ

No lado do cliente:

var socket = io.connect("http://127.0.0.1:6701");
socket.on('connect', function() {
  socket.disconnect();
});
socket.on('disconnect', function() {
  socket.socket.reconnect();
});

No lado do servidor:

var io = require('socket.io').listen(6701);

io.sockets.on('connection', function(socket) {

  socket.on('disconnect', function(reason) {
    var o = Object.keys(socket.manager.open).length
      , c = Object.keys(socket.manager.closed).length
      , cA = Object.keys(socket.manager.closedA).length
      , h = Object.keys(socket.manager.handshaken).length

      console.log("open: " + o)
      console.log("closed: " + c)
      console.log("handshaken: " + h)
      console.log("closedA: " + cA)
      console.log("---");
   });
});

Quando no OSX atingi o limite de arquivos (256), as estatísticas são as seguintes

open: 471
closed: 235
handshaken: 471
closedA: 235

O que está me intrigando é:

se eu fechar a conexão com força (é isso que eu gostaria de fazer com o clientedisconnect(), por que ainda estou usando um identificador de arquivo (para atingir o limite de arquivo) editar: adicionar um atraso parece que o servidor pode ficar sem fôlego e nunca atingir o limite de arquivo Existe uma maneira de fechar completamente o soquete para que eu possa ter certeza de que o limite de arquivos raramente é atingido (eu sei que posso enviá-lo para 65 K Existe uma maneira de saber que estou atingindo o limite de arquivos, para que eu possa parar de aceitar a conexã

Obrigad

questionAnswers(1)

yourAnswerToTheQuestion