Delen via


Azure Web PubSub-serviceclientbibliotheek voor Java

De Azure Web PubSub-service is een door Azure beheerde service waarmee ontwikkelaars eenvoudig webtoepassingen kunnen bouwen met realtime-functies en een patroon voor publiceren/abonneren. Elk scenario waarvoor realtime berichten voor publiceren/abonneren tussen server en clients of clients zijn vereist, kunnen de Azure Web PubSub-service gebruiken. Traditionele realtime-functies die vaak polling van de server vereisen of http-aanvragen indienen, kunnen ook gebruikmaken van de Azure Web PubSub-service.

In dit artikel wordt de clientbibliotheek van de Azure Web PubSub-service beschreven.

U kunt deze bibliotheek in uw server-app gebruiken om de WebSocket-clientverbindingen te beheren, zoals wordt weergegeven in dit diagram:

The overflow diagram shows the overflow of using the service client library.

Gebruik deze bibliotheek om:

  • Berichten verzenden naar hubs en groepen.
  • Berichten verzenden naar bepaalde gebruikers en verbindingen.
  • Organiseer gebruikers en verbindingen in groepen.
  • Verbindingen sluiten
  • Machtigingen voor een bestaande verbinding verlenen, intrekken en controleren

Zie voor meer informatie:

Aan de slag

Vereisten

Het pakket opnemen

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

WebPubSubServiceClient Een using verbindingsreeks maken

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

Een met behulp van een WebPubSubServiceClient toegangssleutel maken

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

Voorbeelden

Bericht uitzenden naar volledige hub

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

Bericht uitzenden naar een groep

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

Een bericht naar een verbinding verzenden

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

Bericht verzenden naar een gebruiker

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

Problemen oplossen

Logboekregistratie op de client inschakelen

U kunt de AZURE_LOG_LEVEL omgevingsvariabele instellen om logboekregistratie-instructies weer te geven die zijn gemaakt in de clientbibliotheek. Met de instelling AZURE_LOG_LEVEL=2 worden bijvoorbeeld alle informatieve, waarschuwings- en foutberichten weergegeven. De logboekniveaus vindt u hier: logboekniveaus.

Standaard-HTTP-client

Alle clientbibliotheken gebruiken standaard de Netty HTTP-client. Als u de bovenstaande afhankelijkheid toevoegt, wordt de clientbibliotheek automatisch geconfigureerd voor het gebruik van de Netty HTTP-client. Het configureren of wijzigen van de HTTP-client wordt beschreven in de wiki http-clients.

Standaard SSL-bibliotheek

Standaard gebruiken alle clientbibliotheken de systeemeigen Boring SSL-bibliotheek van Tomcat om prestaties op systeemeigen niveau in te schakelen voor SSL-bewerkingen. De Boring SSL-bibliotheek is een uber JAR met systeemeigen bibliotheken voor Linux/macOS/Windows en biedt betere prestaties in vergelijking met de standaard SSL-implementatie binnen de JDK. Zie [prestaties afstemmen][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning] voor meer informatie, waaronder het verminderen van de afhankelijkheidsgrootte.

Gebruik deze resources om te beginnen met het bouwen van uw eigen toepassing: