Pustaka klien layanan Azure Web PubSub untuk Java

Layanan Azure Web PubSub adalah layanan terkelola Azure yang membantu pengembang dengan mudah membangun aplikasi web dengan fitur real-time dan pola terbitkan-berlangganan. Skenario apa pun yang memerlukan pesan terbitkan-berlangganan real time antara server dan klien atau di antara klien dapat menggunakan layanan Azure Web PubSub. Fitur real-time tradisional yang sering memerlukan polling dari server atau mengirimkan permintaan HTTP juga dapat menggunakan layanan Azure Web PubSub.

Artikel ini menjelaskan pustaka klien layanan Azure Web PubSub.

Anda dapat menggunakan pustaka ini di aplikasi sisi server Anda untuk mengelola koneksi klien WebSocket, seperti yang ditunjukkan dalam diagram ini:

Diagram kelebihan menunjukkan kelebihan dalam penggunaan perpustakaan klien layanan.

Gunakan pustaka ini untuk:

  • Mengirim pesan ke hub dan grup.
  • Mengirim pesan ke pengguna dan koneksi tertentu.
  • Atur pengguna dan koneksi ke dalam grup.
  • Tutup koneksi jaringan
  • Memberikan, mencabut, dan memeriksa izin untuk koneksi yang sudah ada

Untuk informasi selengkapnya, lihat:

Memulai Langkah Pertama

Prasyarat

Sertakan Paket

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

Buat WebPubSubServiceClient menggunakan string koneksi

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

Membuat WebPubSubServiceClient menggunakan kunci akses

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

Examples

Menyiarkan pesan ke seluruh hub

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

Menyiarkan pesan ke grup

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

Kirim pesan ke sambungan

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

Mengirim pesan ke pengguna

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

Troubleshooting

Aktifkan pengelogan klien

Anda dapat mengatur AZURE_LOG_LEVEL variabel lingkungan untuk melihat pernyataan pengelogan yang dibuat di pustaka klien. Misalnya, pengaturan AZURE_LOG_LEVEL=2 akan menampilkan semua pesan log informasi, peringatan, dan kesalahan. Tingkat log dapat ditemukan di sini: tingkat log.

Klien HTTP Default

Semua pustaka klien menggunakan klien HTTP Netty secara default. Menambahkan dependensi di atas akan secara otomatis mengonfigurasi pustaka klien untuk menggunakan klien HTTP Netty. Mengonfigurasi atau mengubah klien HTTP dijelaskan di wiki klien HTTP.

Pustaka SSL bawaan

Secara default, semua pustaka klien menggunakan pustaka BoringSSL dari Tomcat-native untuk mengaktifkan performa tingkat asli pada operasi SSL. Perpustakaan Boring SSL ini adalah uber jar yang berisi library asli untuk Linux / macOS / Windows, dan memberikan performa yang lebih baik dibandingkan dengan implementasi SSL default dalam JDK. Untuk informasi selengkapnya, termasuk cara mengurangi ukuran dependensi, lihat [penyetelan performa][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Gunakan sumber daya ini untuk mulai membangun aplikasi Anda sendiri: