Share via


Clientbibliothek des Azure Web PubSub-Diensts für Java

Der Azure Web PubSub-Dienst ist ein von Azure verwalteter Dienst , mit dem Entwickler problemlos Webanwendungen mit Echtzeitfeatures und einem Veröffentlichungsabonnentmuster erstellen können. Jedes Szenario, das Echtzeit-Publish-Subscribe-Messaging zwischen Server und Clients oder zwischen Clients erfordert, kann den Azure Web PubSub-Dienst nutzen. Herkömmliche Echtzeitfeatures, die häufig abfragen vom Server oder senden von HTTP-Anforderungen erfordern, können auch den Azure Web PubSub-Dienst verwenden.

In diesem Artikel wird die Azure Web PubSub-Dienstclientbibliothek beschrieben.

Sie können diese Bibliothek in Ihrer serverseitigen App verwenden, um die WebSocket-Clientverbindungen zu verwalten, wie in diesem Diagramm gezeigt:

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

Sie können diese Bibliothek für Folgendes verwenden:

  • Das Versenden von Nachrichten an Hubs und Gruppen.
  • Das Versenden von Nachrichten an bestimmte Benutzer und Verbindungen.
  • Das Organisieren von Benutzern und Verbindungen in Gruppen.
  • Das Schließen von Verbindungen
  • Das Erteilen, Widerrufen und Prüfen von Berechtigungen für eine vorhandene Verbindung

Weitere Informationen finden Sie unter:

Erste Schritte

Voraussetzungen

Schließen Sie das Paket ein

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

WebPubSubServiceClient mit Verbindungszeichenfolge erstellen

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

WebPubSubServiceClient über Zugriffsschlüssel erstellen

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

Beispiele

Übertragen einer Nachricht an den gesamten Hub

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

Übertragen eine Nachricht an eine Gruppe

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

Senden einer Nachricht an eine Verbindung

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

Senden einer Nachricht an einen Benutzer

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

Problembehandlung

Aktivieren der Clientprotokollierung

Sie können die Umgebungsvariable AZURE_LOG_LEVEL so festlegen, dass in der Clientbibliothek vorgenommene Protokollierungsanweisungen angezeigt werden. Durch das Festlegen von AZURE_LOG_LEVEL=2 würden beispielsweise alle Informations-, Warnungs- und Fehlerprotokollmeldungen angezeigt. Die Protokolliergrade finden Sie hier: Protokolliergrade.

HTTP-Standardclient

Alle Clientbibliotheken verwenden standardmäßig den Netty-HTTP-Client. Durch Hinzufügen der obigen Abhängigkeit wird die Clientbibliothek automatisch für die Verwendung des Netty-HTTP-Clients konfiguriert. Das Konfigurieren oder Ändern des HTTP-Clients wird im HTTP-Clientswiki beschrieben.

SSL-Standardbibliothek

Standardmäßig verwenden alle Clientbibliotheken die tomcat-native Boring SSL-Bibliothek, um die Leistung auf systemeigener Ebene für SSL-Vorgänge zu ermöglichen. Die Boring-SSL-Bibliothek ist eine Uber-JAR-Datei mit nativen Bibliotheken für Linux/macOS/Windows und bietet im Vergleich zur SSL-Standardimplementierung im JDK eine bessere Leistung. Weitere Informationen, einschließlich der Reduzierung der Abhängigkeitsgröße, finden Sie unter [Leistungsoptimierung][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Erstellen Sie mithilfe dieser Ressourcen Ihre eigene Anwendung: