Partilhar via


Publicar/subscrever entre clientes

GIF de pub/sub entre clientes sem um servidor de aplicações.

Este guia de início rápido demonstra como

  • ligar ao recurso Web PubSub
  • subscrever mensagens de grupos
  • publicar mensagens em grupos

Pré-requisitos

  • Um recurso Web PubSub. Se ainda não criou um, pode seguir a documentação de orientação: Criar um recurso Web PubSub
  • Um editor de código, como o Visual Studio Code
  • Instalar as dependências do idioma que planeia utilizar

Instalar o SDK do cliente

Nota

Este guia utiliza o SDK de cliente fornecido pelo serviço Web PubSub, que ainda está em pré-visualização. A interface pode ser alterada em versões posteriores.

mkdir pubsub_among_clients
cd pubsub_among_clients

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

Ligar ao Web PubSub

Um cliente, seja um browser 💻, uma aplicação 📱móvel ou um dispositivo 💡IoT, utiliza um URL de Acesso de Cliente para se ligar e autenticar com o recurso. Este URL segue um padrão de wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>. Um cliente pode ter algumas formas de obter o URL de Acesso de Cliente. Para este guia de introdução, pode copiar e colar um dos portal do Azure apresentados no diagrama seguinte. É melhor prática não codificar o URL de Acesso do Cliente no seu código. No mundo da produção, normalmente, configuramos um servidor de aplicações para devolver este URL a pedido. Gerar URL de Acesso de Cliente descreve a prática em detalhe.

O diagrama mostra como obter o URL de acesso do cliente.

Conforme mostrado no diagrama acima, o cliente tem as permissões para enviar mensagens e aderir a um grupo específico com o nome group1.

Criar um ficheiro com o nome index.js e adicionar o seguinte código

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

Subscrever um grupo

Para receber mensagens de grupos, o cliente

  • tem de se juntar ao grupo a partir do qual pretende receber mensagens
  • tem uma chamada de retorno para processar group-message o evento

O código seguinte mostra um cliente a subscrever mensagens de um grupo com o nome 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");

Publicar uma mensagem num grupo

No passo anterior, configurámos tudo o que era necessário para receber mensagens do group1, agora enviamos mensagens para esse grupo.

// ...code from the last step

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

Passos seguintes

Ao utilizar o SDK de cliente, agora sabe como

  • ligar ao recurso Web PubSub
  • subscrever mensagens de grupo
  • publicar mensagens em grupos

Em seguida, irá aprender a enviar mensagens em tempo real de um servidor de aplicações para os seus clientes.