Partager via


Comment établir plusieurs sessions pour un seul client

Dans ce guide, vous allez apprendre à établir plusieurs sessions pour un client unique à un espace de noms Event Grid.

Prérequis

Prise en charge multisession

Pour créer plusieurs sessions par client, indiquez le nom d’authentification du client dans la propriété Username du paquet CONNECT. Vous pouvez ensuite fournir l’ID de session dans la propriété Identificateur client (ClientID) du paquet CONNECT.

  • Si la propriété Username n’est pas fournie dans le paquet CONNECT, vous ne pouvez pas créer plusieurs sessions pour le client.
  • Le champ ClientID ne peut pas être vide.
  • Le ClientID doit être unique entre tous les clients d’un espace de noms

Si un client tente de reprendre la session active d’un autre client en présentant son nom de session, sa demande de connexion est rejetée avec une erreur non autorisée. Par exemple, si le client B tente de se connecter à la session 123 affectée à ce moment-là au client A, la demande de connexion du client B est rejetée.

Si un client est déconnecté sans mettre fin à sa session, les autres clients ne peuvent pas utiliser le nom de la session tant que la session n’a pas expiré. Par exemple, si le client A crée une session avec le nom de session 123 alors que le client A est déconnecté, le client B ne peut pas se connecter à la session 123 tant que la session d’origine n’a pas expiré.

Configuration CONNECT Dans le paquet MQTT CONNECT, incluez le nom d’authentification client dans le champ Nom d’utilisateur, ce qui signifie l’identité du client. Voici un exemple de métadonnées clientes avec le nom d’authentification du client « ipv4=127.0.0.1 ».

Capture d'écran montrant la configuration du client avec les informations sur le nom d'authentification du client en surbrillance.

Maintenant, lors de la connexion du client à l’espace de noms, vous pouvez utiliser le champ identificateur client dans le paquet MQTT CONNECT comme identificateur de session.

Par exemple, en fonction de la configuration du client, vous pouvez envoyer deux paquets CONNECT avec des valeurs de champ à partir du même client :

Vous pouvez voir un exemple de configuration de connexion à l’aide de l’application MQTTX.

Premier paquet de connexion :

  • nom d’utilisateur : « ipv4=127.0.0.1 »
  • clientID : « sessionId1 »

Capture d'écran montrant la configuration du client de l'application MQTTX lors de la première session.

Deuxième paquet de connexion :

  • nom d’utilisateur : « ipv4=127.0.0.1 »
  • clientID : « sessionId2 »

Capture d’écran montrant la configuration du client de l’application MQTTX lors de la seconde session.

Vous pouvez utiliser les mêmes informations d’identification de certificat client pour authentifier les deux sessions.