Depois de atualizar para a v3, quando chamo socket.disconnect()
em qualquer um dos lados do cliente ou servidor, parece que a conexão subjacente do gerenciador também está sendo fechada - todos os outros soquetes usando o mesmo gerenciador / conexão subjacente também são desconectados.
Não sei onde apresentar este problema. Talvez tenha raiz em engine.io v4?
Aqui está um diff do meu projeto durante a atualização . Peço desculpas por conter algumas alterações não relacionadas também. A principal coisa que quero destacar é que não fiz nenhuma alteração em como configuro e gerencio as conexões (você pode cmd + F para "desconectar", "fechar", "io.socket").
Por favor, veja este jsfiddle .
O comportamento da v2 é que chamar socket.close()
no lado do cliente e no lado do servidor só deve fechar esse soquete quando um gerenciador tiver vários namespaces - não deve fechar todos os soquetes multiplexados sob o manjedoura desse soquete.
Observe a diferença de comportamento ao usar socket.io v2.
Passei muito tempo depurando meu próprio código pensando que quebrei algo: ')
Ansioso pela correção! E obrigado novamente por seu trabalho árduo para iniciar a v3.
O evento de "conexão" nunca é disparado na conexão de soquete e não preenche o array connecting
no gerenciador:
https://github.com/socketio/socket.io-client/blame/master/lib/manager.ts#L599
Quando _destroy é chamado if (this.connecting.length) return; this._close();
sempre fecha a conexão.
Não vejo um problema no código do cliente. No código do servidor não consegui encontrar nenhum evento chamado "Connecting".
Aqui está o commit que remove a emissão de "conexão".
https://github.com/socketio/socket.io-client/commit/b60e909039d4bbb979d32ec86ac16c5398526b44#diff -f0e64910289a49966c99ceadaa5637404e3439ec0812a4bdb7003fe1e5a33d1c
@darrachequesne Você poderia verificar este problema.
@ david-fong eu realmente poderia reproduzir o problema, muito obrigado pelas etapas detalhadas: +1:
Isso deve ser corrigido por https://github.com/socketio/socket.io-client/commit/f8f60fc860f51aa6465fc32dd9275a8e1d22f05d (incluído em [email protected]
).
Mais uma vez, obrigado pelo relatório detalhado, isso realmente ajuda!