/ / Esta abordagem de WebSockets está correta? - javascript, websocket

Esta abordagem WebSockets está correta? - javascript, websocket

Eu quero criar essa rotina:

  1. Eu acesso o / receptor (receptor)
  2. Receptor está escutando evento "olá"
  3. Eu acesso o / emissor (emissor) de outra guia
  4. Emitter dispara o evento "olá"
  5. Receptor diz alerta ("Hello world") quando o evento "hello" é disparado

É possível usar WebSockets? Eu quero fazer o servidor de API com Python e o cliente com JavaScript.

Respostas:

1 para resposta № 1

webSockets conectam cliente e servidor. O não conecta diretamente duas páginas da web em duas guias diferentes.

É possível que duas páginas da web em doisTodas as guias diferentes poderiam se conectar ao servidor e o servidor poderia rotear as mensagens enviadas de uma página da Web para a outra. É assim que funciona um típico programa de bate-papo (que é um aplicativo de demonstração clássico para webSockets).

Sim, isso é possível construir com um servidor em Python e cliente na página da web Javascript.

Você pode certamente encontrar muitas bibliotecas escritas parawebSockets em Python com sua própria pesquisa. Navegador Javascript já tem suporte WebSocket construído em. Muitas pessoas optam por usar socket.io que é uma biblioteca de nível superior construído em cima do WebSocket e há implementações para socket.io em muitas línguas (incluindo o Javascript para o navegador e Python para o servidor).


0 para resposta № 2

WebSocket é usado quando você precisa de um persistente,conexão amigável com ou sem um navegador. Se você precisar apenas se comunicar entre as guias na mesma instância do navegador, poderá usar localStorage (que dispara um evento StorageEvent) mesmo se estiver offline.

Se você precisar que o emissor sejaacessado por outro navegador na Web ou se o emissor não fosse um aplicativo da Web do navegador (por exemplo, um caso de uso da IoT), você precisaria do WebSocket. Então uma boa solução seria um simples mecanismo de publicação / assinatura usando o WebSocket. Aqui está uma boa biblioteca Angular que um colega escreveu que pode ajudá-lo:

https://github.com/kaazing/tutorials

Divulgação completa: eu trabalho para Kaazing