Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
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:
- Java SDK der Azure Web PubSub-Clientbibliothek
- Referenzdokumentation zur Azure Web PubSub-Clientbibliothek
- Azure Web PubSub-Clientbibliotheksbeispiele für Java
- Azure Web PubSub-Dienstdokumentation
Erste Schritte
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement ist erforderlich. Falls Sie noch über keins verfügen, können Sie ein kostenloses Konto erstellen.
- Ein Java Development Kit (JDK), Version 8 oder höher.
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
- Senden einer Nachricht an eine Gruppe
- Nachricht an eine Verbindung senden
- Senden einer Nachricht an einen Benutzer
Ü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: