Dela via


Publicera/prenumerera mellan klienter

GIF av pub/sub bland klienter utan programserver.

Den här snabbstartsguiden visar hur du

  • ansluta till din Web PubSub-resurs
  • prenumerera på meddelanden från grupper
  • publicera meddelanden till grupper

Förutsättningar

  • En Web PubSub-resurs. Om du inte har skapat någon kan du följa anvisningarna: Skapa en Web PubSub-resurs
  • En kodredigerare, till exempel Visual Studio Code
  • Installera beroenden för det språk som du planerar att använda

Installera klient-SDK

Anteckning

Den här guiden använder klient-SDK:et som tillhandahålls av Web PubSub-tjänsten, som fortfarande är i förhandsversion. Gränssnittet kan ändras i senare versioner.

mkdir pubsub_among_clients
cd pubsub_among_clients

# The SDK is available as an NPM module.
npm install @azure/web-pubsub-client

Ansluta till Web PubSub

En klient, vare sig det är en webbläsare 💻, en mobilapp 📱eller en IoT-enhet 💡, använder en URL för klientåtkomst för att ansluta och autentisera med din resurs. Den här URL:en följer mönstret wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>. En klient kan ha några olika sätt att hämta url:en för klientåtkomst. För den här snabbstarten kan du kopiera och klistra in en från Azure Portal som visas i följande diagram. Det är bästa praxis att inte hårdkoda url:en för klientåtkomst i koden. I produktionsvärlden konfigurerar vi vanligtvis en appserver för att returnera den här URL:en på begäran. Generera URL för klientåtkomst beskriver metoden i detalj.

Diagrammet visar hur du hämtar url:en för klientåtkomst.

Som du ser i diagrammet ovan har klienten behörighet att skicka meddelanden till och ansluta till en specifik grupp med namnet group1.

Skapa en fil med namn index.js och lägg till följande kod

const { WebPubSubClient } = require("@azure/web-pubsub-client");

// Instantiate the client object. 
// <client-access-url> is copied from Azure portal mentioned above.
const client = new WebPubSubClient("<client-access-url>");

Prenumerera på en grupp

Klienten tar emot meddelanden från grupper

  • måste gå med i den grupp som den vill ta emot meddelanden från
  • har ett återanrop för att hantera group-message händelsen

Följande kod visar att en klient prenumererar på meddelanden från en grupp med namnet group1.

// ...code from the last step

// Provide callback to the "group-message" event. 
client.on("group-message", (e) => {
  console.log(`Received message: ${e.message.data}`);
});

// Before joining group, you must invoke start() on the client object.
client.start();

// Join a group named "group1" to subscribe message from this group.
// Note that this client has the permission to join "group1", 
// which was configured on Azure portal in the step of generating "Client Access URL".
client.joinGroup("group1");

Publicera ett meddelande till en grupp

I föregående steg har vi konfigurerat allt som behövs för att ta emot meddelanden från group1, nu skickar vi meddelanden till den gruppen.

// ...code from the last step

// Send message "Hello World" in the "text" format to "group1".
client.sendToGroup("group1", "Hello World", "text");

Nästa steg

Genom att använda klient-SDK:et vet du nu hur du gör

  • ansluta till din Web PubSub-resurs
  • prenumerera på gruppmeddelanden
  • publicera meddelanden till grupper

Härnäst får du lära dig hur du push-överför meddelanden i realtid från en programserver till dina klienter.