Partilhar via


Biblioteca cliente de serviço Azure Web PubSub para Java

O serviço Azure Web PubSub é um serviço gerido pelo Azure que ajuda os programadores a construir facilmente aplicações web com funcionalidades em tempo real e um padrão de publicação-subscrição. Qualquer cenário que exija mensagens de publicação-subscrição em tempo real entre servidor e clientes ou entre clientes pode usar o serviço Azure Web PubSub. Funcionalidades tradicionais em tempo real, que frequentemente requerem sondagens do servidor ou submissão de pedidos HTTP, também podem usar o serviço Azure Web PubSub.

Este artigo descreve a biblioteca de clientes de serviços Azure Web PubSub.

Pode usar esta biblioteca na sua aplicação do lado do servidor para gerir as ligações do cliente WebSocket, como mostrado neste diagrama:

O diagrama de sobrecarga mostra a sobrecarga ao utilizar a biblioteca de cliente de serviço.

Use esta biblioteca para:

  • Envia mensagens para hubs e grupos.
  • Envie mensagens a utilizadores e ligações específicas.
  • Organizar utilizadores e ligações em grupos.
  • Ligações próximas
  • Conceder, revogar e verificar permissões para uma ligação existente

Para obter mais informações, consulte:

Como Começar

Pré-requisitos

Incluir o Pacote

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-webpubsub</artifactId>
    <version>1.0.0</version>
</dependency>

Crie uma WebPubSubServiceClient usando a cadeia de conexão

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .connectionString("{connection-string}")
    .hub("chat")
    .buildClient();

Crie uma chave de acesso usando WebPubSubServiceClient

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .credential(new AzureKeyCredential("{access-key}"))
    .endpoint("<Insert endpoint from Azure Portal>")
    .hub("chat")
    .buildClient();

Examples

Transmitir mensagem para todo o hub

webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);

Transmitir mensagem a um grupo

webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);

Enviar mensagem para uma ligação

webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);

Enviar mensagem a um utilizador

webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);

Solução de problemas

Habilitar o log do cliente

Pode definir a AZURE_LOG_LEVEL variável de ambiente para consultar as declarações de registo feitas na biblioteca do cliente. Por exemplo, a definição AZURE_LOG_LEVEL=2 mostraria todas as mensagens informativas, de aviso e de registo de erros. Os níveis logarítimos podem ser encontrados aqui: níveis logarítmicos.

Cliente HTTP Padrão

Todas as bibliotecas clientes usam o cliente HTTP Netty por defeito. Adicionar esta dependência acima configurará automaticamente a biblioteca cliente para usar o cliente HTTP Netty. A configuração ou alteração do cliente HTTP está descrita na wiki dos clientes HTTP.

Biblioteca SSL padrão

Por defeito, todas as bibliotecas clientes utilizam a biblioteca Boring SSL, nativa do Tomcat, para permitir desempenho a nível nativo para operações SSL. A biblioteca Boring SSL é um uber jar que contém bibliotecas nativas para Linux / macOS / Windows, e oferece melhor desempenho em comparação com a implementação SSL padrão dentro do JDK. Para mais informações, incluindo como reduzir o tamanho da dependência, veja [performance tuning][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Use estes recursos para começar a criar seu próprio aplicativo: