Enviando atualizações de Websocket para clientes específicos em Go (Gorilla)
Apesar de ser um novato em Go, você busca orientação sobre como implementar comunicação de websocket para seu projeto de digitação antecipada. Você tentou aproveitar exemplos do repositório GitHub do Gorilla, mas encontrou desafios para entender como clientes específicos podem ser identificados e direcionados para atualizações de websocket.
Para identificar clientes exclusivamente, você precisa modificar o hub Gorilla e as estruturas do cliente para incluir um Campo ID. Este campo pode ser de um tipo como int ou string.
Na estrutura Hub, substitua o mapa de conexões por um mapa que use este tipo de ID como a chave e o objeto de conexão como o valor:
connections map[idType]*connection
Além disso, altere o campo de transmissão na estrutura do Hub para usar um tipo de mensagem personalizado contendo os dados da mensagem e o cliente de destino ID:
send chan message
Substitua o loop for responsável pelo envio de mensagens de difusão pelo seguinte código para enviar mensagens para clientes específicos:
for {
select {
case client := Para enviar mensagens para clientes específicos, crie uma mensagem especificando o ID do cliente alvo:
hub.send Ao implementar essas modificações, agora você pode enviar atualizações de websocket direcionadas para clientes específicos em seu aplicativo Go.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3