Dela via


Starta en WebSocket-anslutning till Azure Web PubSub

Klienter ansluter till Azure Web PubSub-tjänsten med hjälp av standardprotokollet WebSocket . Du kan använda språk som har WebSocket-klientstöd för att skriva en klient för tjänsten. I den här artikeln visas flera WebSocket-klientexempel på olika språk.

Auktorisering

Web PubSub använder en JSON-webbtoken (JWT) för att verifiera och auktorisera klienter. Klienter kan antingen placera token i access_token frågeparametern eller placera den i Authorization huvudet när de ansluter till tjänsten.

Vanligtvis kommunicerar klienten med sin appserver först för att hämta url:en för tjänsten och token. Sedan öppnar klienten WebSocket-anslutningen till tjänsten med hjälp av den URL och token som den tar emot.

Portalen innehåller också ett verktyg för att generera klient-URL:en med token dynamiskt. Det här verktyget kan vara användbart för att göra ett snabbtest.

Skärmbild som visar var du hittar klientens URL-generator.

Kommentar

Se till att endast inkludera nödvändiga roller när du genererar token.

I följande avsnitt, för att förenkla exempelarbetsflödet, använder vi den här tillfälligt genererade URL:en från portalen för att klienten ska kunna ansluta. Vi använder <Client_URL_From_Portal> för att representera värdet. Den token som genereras upphör att gälla om 60 minuter som standard, så glöm inte att återskapa en när token upphör att gälla.

Tjänsten stöder två typer av WebSocket-klienter: den ena är den enkla WebSocket-klienten och den andra är PubSub WebSocket-klienten. Här visar vi hur dessa två typer av klienter ansluter till tjänsten. Mer information om dessa klienter finns i WebSocket-klientprotokoll för Azure Web PubSub.

Dependency

I de flesta moderna webbläsare WebSocket stöds API:et internt.

Enkel WebSocket-klient

script Inuti blocket på HTML-sidan:

<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>

PubSub WebSocket-klient

script Inuti blocket på HTML-sidan:

<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>

Nästa steg

I den här artikeln har du lärt dig hur du ansluter till tjänsten med hjälp av den URL som genereras från portalen. Om du vill se hur klienterna kommunicerar med appservern för att hämta URL:en i verkliga program läser du de här självstudierna och kollar in exemplen.