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:
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:
- Java SDK klientské knihovny Azure Web PubSub
- Referenční dokumentace ke klientské knihovně Azure Web PubSub
- Ukázky klientské knihovny Azure Web PubSub pro Javu
- Dokumentace ke službě Azure Web PubSub
Začínáme
Předpoklady
- Vyžaduje se účet Azure s aktivním předplatným. Pokud ho ještě nemáte, můžete si zdarma vytvořit účet.
- Sada Java Development Kit (JDK) verze 8 nebo novější.
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
- Vysílání zprávy skupině
- Odeslání zprávy do připojení
- Odeslání zprávy uživateli
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: