分享方式:


用於 Java 的 Azure Web PubSub 服務用戶端程式庫

Azure Web PubSub 服務是一項 Azure 受控服務,可協助開發人員輕鬆建置具有即時功能和發佈/訂閱模式的 Web 應用程式。 任何需要在伺服器與用戶端之間或用戶端之間即時發佈訂閱傳訊的案例,都可以使用 Azure Web PubSub 服務。 通常需要從伺服器輪詢或提交 HTTP 要求的傳統即時功能,也可以使用 Azure Web PubSub 服務。

本文說明 Azure Web PubSub 服務用戶端程式庫。

您可以在伺服器端應用程式中使用此程式庫來管理 WebSocket 用戶端連線,如下圖所示:

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

使用此程式庫來:

  • 傳送訊息至中樞和群組。
  • 傳送訊息至特定使用者和連線。
  • 將使用者和連線組織成群組。
  • 關閉連線
  • 授與、撤銷和檢查現有連線的權限

如需詳細資訊,請參閱

開始使用

必要條件

包含套件

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

使用連接字串建立 WebPubSubServiceClient

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

使用存取金鑰建立 WebPubSubServiceClient

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

範例

廣播訊息至整個中樞

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

廣播訊息至群組

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

將訊息傳送至連線

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

傳送訊息至使用者

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

疑難排解

啟用用戶端記錄

您可以設定 AZURE_LOG_LEVEL 環境變數,以檢視在用戶端程式庫中所做的記錄陳述式。 例如,設定 AZURE_LOG_LEVEL=2 會顯示所有參考、警告和錯誤記錄檔訊息。 您可以在這裡找到記錄層級:記錄層級

預設 HTTP 用戶端

依預設,所有用戶端程式庫都會使用 Netty HTTP 用戶端。 新增上述相依性會自動將用戶端程式庫設定為使用 Netty HTTP 用戶端。 在 HTTP 用戶端 Wiki 中描述設定或變更 HTTP 用戶端。

預設 SSL 程式庫

依預設,所有用戶端程式庫都會使用 Tomcat 原生的 Boring SSL 程式庫來啟用 SSL 作業的原生層級效能。 Boring SSL 程式庫是一個 uber jar,其包含適用於 Linux/macOS/Windows 的原生程式庫,且相較於 JDK 內的預設 SSL 實作,可提供更佳的效能。 如需詳細資訊,包括如何減少相依性大小,請參閱 [效能微調][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning]。

使用這些資源開始建置您自己的應用程式: