Cara membuat beberapa sesi untuk satu klien

Dalam panduan ini, Anda mempelajari cara membuat beberapa sesi untuk satu klien ke namespace Layanan Event Grid.

Prasyarat

  • Anda memiliki namespace Layanan Event Grid yang dibuat. Lihat Mulai Cepat ini - Terbitkan dan berlangganan topik MQTT untuk membuat namespace, subresource, dan untuk menerbitkan/berlangganan topik.

Dukungan Multi-Sesi

Untuk membuat beberapa sesi per klien, berikan nama autentikasi klien di properti Nama Pengguna paket CONNECT. Kemudian Anda dapat memberikan ID sesi di properti Pengidentifikasi Klien (ClientID) dari paket CONNECT.

  • Jika properti Nama Pengguna tidak disediakan dalam paket CONNECT, Anda tidak dapat membuat beberapa sesi untuk klien.
  • Bidang ClientID tidak boleh kosong.
  • ClientID harus unik di semua klien di namespace layanan

Jika klien mencoba mengambil alih sesi aktif klien lain dengan menyajikan nama sesinya, permintaan koneksinya ditolak dengan kesalahan yang tidak sah. Misalnya, jika Klien B mencoba menyambungkan ke sesi 123 yang ditetapkan pada saat itu ke klien A, permintaan koneksi Klien B ditolak.

Jika klien terputus tanpa mengakhiri sesinya, klien lain tidak dapat menggunakan nama sesi hingga sesi kedaluwarsa. Misalnya, jika klien A membuat sesi dengan nama sesi 123 maka klien A terputus, klien B tidak dapat tersambung ke sesi 123 hingga sesi asli kedaluwarsa.

Konfigurasi CONNECT Dalam paket MQTT CONNECT, sertakan nama autentikasi Klien di bidang Nama Pengguna, yang menandakan identitas klien. Berikut adalah contoh metadata klien dengan nama autentikasi klien "ipv4=127.0.0.1".

Screenshot showing the client configuration with client authentication name information highlighted.

Sekarang, saat menyambungkan klien ke namespace layanan, Anda dapat menggunakan bidang pengidentifikasi klien di paket MQTT CONNECT sebagai pengidentifikasi sesi.

Misalnya, berdasarkan konfigurasi klien, Anda dapat mengirim dua paket CONNECT dengan nilai bidang dari klien yang sama:

Anda dapat melihat contoh penyiapan koneksi menggunakan aplikasi MQTTX.

Paket koneksi pertama:

  • nama pengguna: "ipv4=127.0.0.1"
  • clientId: "sessionId1"

Screenshot showing the MQTTX application client configuration with first session.

Paket koneksi kedua:

  • nama pengguna: "ipv4=127.0.0.1"
  • clientId: "sessionId2"

creenshot showing the MQTTX application client configuration with second session.

Anda dapat menggunakan kredensial sertifikat klien yang sama untuk mengautentikasi kedua sesi.