Condividi tramite


Avviare una connessione WebSocket ad Azure Web PubSub

I client si connettono al servizio Web PubSub di Azure usando il protocollo WebSocket standard. È possibile usare linguaggi con supporto client WebSocket per scrivere un client per il servizio. In questo articolo vengono illustrati diversi esempi di client WebSocket in linguaggi diversi.

Autorizzazione

Web PubSub usa un token JSON Web (JWT) per convalidare e autorizzare client. I client possono inserire il token nel parametro di query access_token oppure inserirlo nell'intestazione Authorization durante la connessione al servizio.

In genere, il client comunica prima di tutto con il server app per ottenere l'URL del servizio e il token. Quindi, il client apre la connessione WebSocket al servizio usando l'URL e il token ricevuti.

Il portale fornisce anche uno strumento per generare l'URL client con il token in modo dinamico. Questo strumento può essere utile per eseguire un test rapido.

Screenshot che mostra dove trovare il generatore di URL client.

Nota

Quando si genera il token, assicurarsi di includere solo i ruoli necessari.

Nelle sezioni seguenti, per semplificare il flusso di lavoro campione, verrà usato questo URL generato temporaneamente dal portale per la connessione del client. Verrà usato <Client_URL_From_Portal> per rappresentare il valore. Il token generato scade dopo 60 minuti per impostazione predefinita, quindi non dimenticare di rigenerarne uno alla scadenza.

Il servizio supporta due tipi di client WebSocket: il client WebSocket semplice e il client WebSocket PubSub. Di seguito verrà illustrato come questi due tipi di client si connettono al servizio. Per altre informazioni su questi client, vedere Protocolli client WebSocket per Azure Web PubSub.

Dipendenza

Nella maggior parte dei browser moderni, l'API WebSocket è supportata in modo nativo.

Client WebSocket semplice

All'interno del blocco script della pagina 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>

Client PubSub WebSocket

All'interno del blocco script della pagina 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>

Passaggi successivi

In questo articolo si è appreso come connettersi al servizio usando l'URL generato dal portale. Per vedere come i client comunicano con il server app per ottenere l'URL nelle applicazioni reali, leggere queste esercitazioni ed esaminare gli esempi.