Executando verificação de segurança...
2

Muito obrigado pela resposta :)

Sim, o polling vai atualizar sucessivamente, correto?

Não entendi muito bem a parte da solução do timeout.

Basicamente quando o usuário logar ele vai se conectar ao socket (passando por um middleware, verificando se realmente está autenticado com o token e verificando se o id do tenant vinculado é igual ao namespace acessado).

Tenho um array onde armazeno o id do namespace sendo a chave e dentro dele outro array contendo:
id do usuario (chave) => socket id do usuário (valor)
Pra conseguir recuperar o id do socket de cada usuário caso precise enviar um evento em específico.

Quando você menciona que relaciona sessão do usuário e socket, seria o mesmo que "buscar" o usuário dentro do socket (como por exemplo eu fiz no middleware)?

Carregando publicação patrocinada...
1

Sim, o pooling atualiza sucessivamente, mas o ideal é usar o protocolo WS mesmo.
O heartbeat é bem como o nome diz, é como se fosse uma batida de coração que independente do usuário estar ativo (mexendo na aplicação) o socket continua vivo.

Bom, esse definitivamente é um approach, esse teu do array, só que: Eu ainda prefiro o Redis, por ser independente, ele nem é pesado.

Exato, como se fosse assim mesmo como você mencionou na sua ultima resposta!

Você linka o socket id e o user id dessa maneira via o Redis, ou via seu array.

Essa resposta foi meio corrida. Boa sorte, a melhor maneira para fazer funcionar é começando hehehehe, e pelo jeito você já começou! Tmj Owner, qualquer coisa manda mensagem +48 996351055

Para que eu possa te ajudar mais e talvez te mandar aquele meu projeto (tenho que ver se acho, faz tempo e na época nem sabia do tal do github)

1

O problema do Redis é que ai eu teria que configurar tanto na stack (uso docker swarm) quanto no server, monitorar e acredito que seria um bom consumo de recursos a mais né?