socket.io forçar uma desconexão por polling XHR

Eu tenho um aplicativo cliente / servidor usando nodejs no servidor e socket.io como o mecanismo de conexão. Por motivos relevantes ao meu aplicativo, desejo ter apenas uma conexão ativa por navegador e rejeitar todas as conexões de outras guias que possam ser abertas posteriormente durante a sessão. Isso funciona muito bem com WebSockets, mas se WebSockets não é suportado pelo navegador e XHR-polling é usado, a desconexão nunca acontece, então se o usuário apenas atualizar a página, isso não é interpretado como uma reconexão (eu tenho um atraso para reconexão e restauração de sessão), mas como uma nova guia, que termina na conexão sendo rejeitada porque a conexão antiga feita por essa mesma guia ainda está ativa.

Eu estou procurando uma maneira de efetivamente terminar a conexão do cliente sempre que ocorre uma atualização. Eu tentei ligar para obeforeunload e chamandosocket.disconnect() no lado do cliente, e também enviando uma mensagem comosocket.emit('force-disconnect') e disparando a desconexão do servidor sem sucesso. Estou faltando alguma coisa aqui? Agradeço sua ajuda!

Eu liessa questão e não achei útil para o meu caso particular.