Sdílet prostřednictvím


Klientská knihovna služby Azure Web PubSub pro Javu

Služba Azure Web PubSub je služba spravovaná v Azure, která vývojářům pomáhá snadno vytvářet webové aplikace s funkcemi v reálném čase a vzorem publikování a odběru. Jakýkoli scénář, který vyžaduje zasílání zpráv publikování a odběru v reálném čase mezi servery a klienty nebo mezi klienty, může používat službu Azure Web PubSub. Tradiční funkce v reálném čase, které často vyžadují dotazování ze serveru nebo odesílání požadavků HTTP, můžou také používat službu Azure Web PubSub.

Tento článek popisuje klientskou knihovnu služby Azure Web PubSub.

Tuto knihovnu můžete v aplikaci na straně serveru použít ke správě připojení klienta WebSocket, jak je znázorněno v tomto diagramu:

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

Pomocí této knihovny můžete:

  • Odesílání zpráv do center a skupin
  • Odesílání zpráv konkrétním uživatelům a připojením
  • Uspořádejte uživatele a připojení do skupin.
  • Zavření připojení
  • Udělení, odvolání a kontrola oprávnění pro existující připojení

Další informace naleznete zde:

Začínáme

Předpoklady

Zahrnout balíček

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

Vytvoření WebPubSubServiceClient pomocí připojovací řetězec

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

Vytvoření pomocí přístupového WebPubSubServiceClient klíče

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

Příklady

Všesměrová zpráva do celého centra

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

Vysílání zprávy skupině

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

Odeslání zprávy do připojení

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

Odeslání zprávy uživateli

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

Řešení problému

Povolení protokolování klienta

Proměnnou AZURE_LOG_LEVEL prostředí můžete nastavit tak, aby zobrazovala příkazy protokolování provedené v klientské knihovně. Například nastavení AZURE_LOG_LEVEL=2 by zobrazovalo všechny informační zprávy, upozornění a chybové zprávy protokolu. Úrovně protokolů najdete tady: úrovně protokolů.

Výchozí klient HTTP

Všechny klientské knihovny ve výchozím nastavení používají klienta Netty HTTP. Přidání výše uvedené závislosti automaticky nakonfiguruje klientskou knihovnu tak, aby používala klienta Netty HTTP. Konfigurace nebo změna klienta HTTP je popsána na wikiwebu klientů HTTP.

Výchozí knihovna SSL

Ve výchozím nastavení všechny klientské knihovny používají nativní knihovnu BORING SSL tomcat k povolení výkonu na nativní úrovni pro operace SSL. Boring SSL library je uber jar obsahující nativní knihovny pro Linux / macOS / Windows a poskytuje lepší výkon v porovnání s výchozí implementací SSL v rámci sady JDK. Další informace, včetně toho, jak zmenšit velikost závislosti, najdete v tématu [ladění výkonu][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Pomocí těchto prostředků můžete začít vytvářet vlastní aplikaci: