Freigeben über


Azure Web PubSub-Dienstclientbibliothek 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 verwenden. Herkömmliche Echtzeitfunktionen, die oft ein Polling vom Server oder das Senden von HTTP-Anforderungen erfordern, können auch 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:

Das Überlaufdiagramm zeigt den Überlauf der Verwendung der Dienstclientbibliothek.

Verwenden Sie diese Bibliothek, um:

  • Nachrichten an Hubs und Gruppen senden.
  • Nachrichten an bestimmte Benutzer und Verbindungen senden.
  • Organisieren Sie Benutzer und Verbindungen in Gruppen.
  • Schließen von Verbindungen
  • Erteilen, Widerrufen und Überprüfen von Berechtigungen für eine vorhandene Verbindung

Weitere Informationen finden Sie unter:

Erste Schritte

Voraussetzungen

Paket einschließen

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

Erstellen einer WebPubSubServiceClient mit der Verbindungszeichenfolge

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

Einen WebPubSubServiceClient mit einem Zugriffsschlüssel erstellen

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

Examples

Übertragen einer Nachricht an den gesamten Hub

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

Senden einer 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 Protokollierungsanweisungen in der Clientbibliothek angezeigt werden. Die Einstellung AZURE_LOG_LEVEL=2 würde z. B. alle Informations-, Warnungs- und Fehlermeldungen anzeigen. Die Protokollebenen finden Sie hier: Protokollebenen.

Standard-HTTP-Client

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

Standard-SSL-Bibliothek

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 ein Uber Jar mit nativen Bibliotheken für Linux / macOS / Windows und bietet eine bessere Leistung im Vergleich zur standardmäßigen SSL-Implementierung innerhalb des JDK. 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: