Partilhar via


Iniciar uma conexão WebSocket com o Azure Web PubSub

Os clientes se conectam ao serviço Azure Web PubSub usando o protocolo WebSocket padrão. Você pode usar idiomas que tenham suporte ao cliente WebSocket para escrever um cliente para o serviço. Neste artigo, você verá vários exemplos de cliente WebSocket em idiomas diferentes.

Autorização

O Web PubSub usa um JSON Web Token (JWT) para validar e autorizar clientes. Os clientes podem colocar o access_token token no parâmetro de consulta ou colocá-lo no Authorization cabeçalho ao se conectar ao serviço.

Normalmente, o cliente se comunica com seu servidor de aplicativos primeiro, para obter a URL do serviço e o token. Em seguida, o cliente abre a conexão WebSocket para o serviço usando a URL e o token que recebe.

O portal também fornece uma ferramenta para gerar a URL do cliente com o token dinamicamente. Esta ferramenta pode ser útil para fazer um teste rápido.

Captura de tela mostrando onde encontrar o Gerador de URL do Cliente.

Nota

Certifique-se de incluir apenas as funções necessárias quando estiver gerando o token.

Nas seções a seguir, para simplificar o fluxo de trabalho de exemplo, usamos essa URL gerada temporariamente do portal para o cliente se conectar. Usamos <Client_URL_From_Portal> para representar o valor. O token gerado expira em 60 minutos por padrão, então não se esqueça de regenerar um quando o token expirar.

O serviço suporta dois tipos de clientes WebSocket: um é o cliente WebSocket simples e o outro é o cliente PubSub WebSocket. Aqui mostramos como esses dois tipos de clientes se conectam ao serviço. Para obter mais informações sobre esses clientes, consulte Protocolos de cliente WebSocket para Azure Web PubSub.

Dependency

Na maioria dos navegadores modernos, WebSocket a API é suportada nativamente.

Cliente WebSocket simples

Dentro do script bloco da página HTML:

<script>
    // Don't forget to replace this <Client_URL_From_Portal> with the value fetched from the portal
    let ws = new WebSocket("<Client_URL_From_Portal>");
    ws.onopen = () => {
        // Do things when the WebSocket connection is established
    };

    ws.onmessage = event => {
        // Do things when messages are received.
    };
</script>

Cliente PubSub WebSocket

Dentro do script bloco da página HTML:

<script>
    // Don't forget to replace this <Client_URL_From_Portal> with the value fetched from the portal
    let ws = new WebSocket("<Client_URL_From_Portal>", 'json.webpubsub.azure.v1');
    ws.onopen = () => {
        // Do things when the WebSocket connection is established
    };

    ws.onmessage = event => {
        // Do things when messages are received.
    };
</script>

Próximos passos

Neste artigo, você aprendeu como se conectar ao serviço usando a URL gerada a partir do portal. Para ver como os clientes se comunicam com o servidor de aplicativos para obter a URL em aplicativos do mundo real, leia estes tutoriais e confira os exemplos.