Udostępnij za pośrednictwem


Uruchamianie połączenia protokołu WebSocket z usługą Azure Web PubSub

Klienci łączą się z usługą Azure Web PubSub przy użyciu standardowego protokołu WebSocket . Aby napisać klienta usługi dla usługi, można użyć języków, które obsługują klienta protokołu WebSocket. W tym artykule przedstawiono kilka przykładów klientów protokołu WebSocket w różnych językach.

Autoryzacja

Usługa Web PubSub używa tokenu internetowego JSON (JWT) do sprawdzania poprawności i autoryzacji klientów. Klienci mogą umieścić token w parametrze access_token zapytania lub umieścić go w Authorization nagłówku podczas nawiązywania połączenia z usługą.

Zazwyczaj klient komunikuje się najpierw z serwerem aplikacji, aby uzyskać adres URL usługi i token. Następnie klient otwiera połączenie protokołu WebSocket z usługą przy użyciu adresu URL i odbieranego tokenu.

Portal udostępnia również narzędzie do dynamicznego generowania adresu URL klienta przy użyciu tokenu. To narzędzie może być przydatne do szybkiego testowania.

Zrzut ekranu przedstawiający miejsce znalezienia generatora adresów URL klienta.

Uwaga

Pamiętaj, aby uwzględnić tylko niezbędne role podczas generowania tokenu.

W poniższych sekcjach, aby uprościć przykładowy przepływ pracy, używamy tego tymczasowo wygenerowanego adresu URL z portalu, aby klient nawiązał połączenie. Służymy <Client_URL_From_Portal> do reprezentowania wartości. Token wygenerowany domyślnie wygasa za 60 minut, więc nie zapomnij ponownie wygenerować tokenu po wygaśnięciu tokenu.

Usługa obsługuje dwa typy klientów protokołu WebSocket: jeden jest prostym klientem protokołu WebSocket, a drugi jest klientem PubSub WebSocket. W tym miejscu pokazano, jak te dwa rodzaje klientów łączą się z usługą. Aby uzyskać więcej informacji o tych klientach, zobacz WebSocket client protocols for Azure Web PubSub (Protokoły klienta protokołu WebSocket dla usługi Azure Web PubSub).

Dependency

W większości nowoczesnych przeglądarek WebSocket interfejs API jest natywnie obsługiwany.

Prosty klient protokołu WebSocket

script Wewnątrz bloku strony 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>

Klient protokołu WebSocket usługi PubSub

script Wewnątrz bloku strony 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>

Następne kroki

W tym artykule przedstawiono sposób nawiązywania połączenia z usługą przy użyciu adresu URL wygenerowanego w portalu. Aby zobaczyć, jak klienci komunikują się z serwerem aplikacji, aby uzyskać adres URL w rzeczywistych aplikacjach, przeczytaj te samouczki i zapoznaj się z przykładami.