Biblioteka klienta usługi Azure Web PubSub dla języka Java
Usługa Azure Web PubSub to usługa zarządzana przez platformę Azure, która ułatwia deweloperom łatwe tworzenie aplikacji internetowych z funkcjami w czasie rzeczywistym i wzorcem publikowania-subskrybowania. Każdy scenariusz, który wymaga komunikatów publikowania i subskrybowania w czasie rzeczywistym między serwerem a klientami lub między klientami, może korzystać z usługi Azure Web PubSub. Tradycyjne funkcje czasu rzeczywistego, które często wymagają sondowania z serwera lub przesyłania żądań HTTP, mogą również używać usługi Azure Web PubSub.
W tym artykule opisano bibliotekę klienta usługi Azure Web PubSub.
Tej biblioteki można używać w aplikacji po stronie serwera do zarządzania połączeniami klienta protokołu WebSocket, jak pokazano na poniższym diagramie:
Użyj tej biblioteki, aby:
- Wysyłanie komunikatów do centrów i grup.
- Wysyłanie komunikatów do konkretnych użytkowników i połączeń.
- Organizowanie użytkowników i połączeń w grupy.
- Zamykanie połączeń
- Udzielanie, odwoływanie i sprawdzanie uprawnień dla istniejącego połączenia
Aby uzyskać więcej informacji, zobacz:
- Zestaw Java SDK biblioteki klienta usługi Azure Web PubSub
- Dokumentacja referencyjna biblioteki klienta usługi Azure Web PubSub
- Przykłady biblioteki klienta usługi Azure Web PubSub dla języka Java
- Dokumentacja usługi Azure Web PubSub
Wprowadzenie
Wymagania wstępne
- Wymagane jest konto platformy Azure z aktywną subskrypcją. Jeśli jeszcze go nie masz, możesz bezpłatnie utworzyć konto.
- Zestaw Java Development Kit (JDK) w wersji 8 lub nowszej.
Uwzględnij pakiet
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
Tworzenie WebPubSubServiceClient
przy użyciu parametry połączenia
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Tworzenie WebPubSubServiceClient
klucza dostępu przy użyciu
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Przykłady
- Emisja komunikatu do całego centrum
- Emisja komunikatu do grupy
- Wysyłanie wiadomości do połączenia
- Wysyłanie wiadomości do użytkownika
Emisja komunikatu do całego centrum
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Emisja komunikatu do grupy
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Wysyłanie wiadomości do połączenia
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Wysyłanie wiadomości do użytkownika
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Rozwiązywanie problemów
Włączanie rejestrowania klientów
Możesz ustawić zmienną AZURE_LOG_LEVEL
środowiskową, aby wyświetlić instrukcje rejestrowania wprowadzone w bibliotece klienta. Na przykład ustawienie AZURE_LOG_LEVEL=2
spowoduje wyświetlenie wszystkich informacji, ostrzeżeń i komunikatów dziennika błędów. Poziomy dziennika można znaleźć tutaj: poziomy dziennika.
Domyślny klient HTTP
Wszystkie biblioteki klienckie domyślnie używają klienta HTTP Netty. Dodanie powyższej zależności spowoduje automatyczne skonfigurowanie biblioteki klienta tak, aby korzystała z klienta HTTP Netty. Konfigurowanie lub zmienianie klienta HTTP jest opisane w witrynie typu wiki klientów HTTP.
Domyślna biblioteka SSL
Domyślnie wszystkie biblioteki klienckie używają natywnej biblioteki SSL Firmy Tomcat do włączania wydajności na poziomie natywnym dla operacji SSL. Biblioteka Boring SSL to plik jar uber zawierający biblioteki natywne dla systemu Linux/macOS/Windows i zapewnia lepszą wydajność w porównaniu z domyślną implementacją protokołu SSL w zestawie JDK. Aby uzyskać więcej informacji, w tym jak zmniejszyć rozmiar zależności, zobacz [dostrajanie wydajności][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Użyj tych zasobów, aby rozpocząć tworzenie własnej aplikacji: