Udostępnij za pośrednictwem


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:

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

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:

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

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: