Delen via


Publiceren/abonneren tussen clients

GIF van pub/sub tussen clients zonder toepassingsserver.

In deze snelstartgids ziet u hoe u

  • verbinding maken met uw Web PubSub-resource
  • abonneren op berichten van groepen
  • berichten publiceren naar groepen

Vereisten

  • Een Web PubSub-resource. Als u er nog geen hebt gemaakt, kunt u de volgende richtlijnen volgen: Een Web PubSub-resource maken
  • Een code-editor zoals Visual Studio Code
  • De afhankelijkheden installeren voor de taal die u wilt gebruiken

De client-SDK installeren

Notitie

Deze handleiding maakt gebruik van de client-SDK die wordt geleverd door de Web PubSub-service, die nog in preview is. De interface kan in latere versies worden gewijzigd.

mkdir pubsub_among_clients
cd pubsub_among_clients

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

Verbinding maken met Web PubSub

Een client, of het nu een browser 💻, een mobiele app 📱of een IoT-apparaat 💡is, gebruikt een clienttoegangs-URL om verbinding te maken en te verifiëren met uw resource. Deze URL volgt een patroon van wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>. Een client kan op een aantal manieren de URL voor clienttoegang verkrijgen. Voor deze quickstart kunt u een van Azure Portal kopiëren en plakken die in het volgende diagram worden weergegeven. Het is raadzaam om de URL voor clienttoegang in uw code niet in code vast te stellen. In de productiewereld stellen we meestal een app-server in om deze URL op aanvraag te retourneren. Url voor clienttoegang genereren beschrijft de procedure in detail.

In het diagram ziet u hoe u de URL voor clienttoegang kunt ophalen.

Zoals weergegeven in het bovenstaande diagram, heeft de client de machtigingen om berichten te verzenden naar en lid te worden van een specifieke groep met de naam group1.

Maak een bestand met de naam index.js en voeg de volgende code toe

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>");

Abonneren op een groep

Als u berichten van groepen wilt ontvangen, gebruikt de client

  • moet lid worden van de groep waaruit berichten moeten worden ontvangen
  • heeft een callback voor het afhandelen group-message van een gebeurtenis

De volgende code laat zien dat een client zich abonneert op berichten van een groep met de naam 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");

Een bericht publiceren naar een groep

In de vorige stap hebben we alles ingesteld wat nodig is om berichten te ontvangen van group1, nu verzenden we berichten naar die groep.

// ...code from the last step

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

Volgende stappen

Door de client-SDK te gebruiken, weet u nu hoe u

  • verbinding maken met uw Web PubSub-resource
  • abonneren op groepsberichten
  • berichten publiceren naar groepen

Vervolgens leert u hoe u berichten in realtime van een toepassingsserver naar uw clients pusht.