Compartir a través de


Establecimiento de varias sesiones para un solo cliente

En esta guía, aprenderá a establecer varias sesiones para un único cliente en un espacio de nombres de Event Grid.

Requisitos previos

Compatibilidad con varias sesiones

Para crear varias sesiones por cliente, proporcione el nombre de autenticación del cliente en la propiedad Username del paquete CONNECT. A continuación, puede proporcionar el identificador de sesión en la propiedad del Identificador de cliente (ClientID) del paquete CONNECT.

  • Si la propiedad Username no se proporciona en el paquete CONNECT, no puede crear varias sesiones para el cliente.
  • El campo ClientID no puede estar vacío.
  • ClientID debe ser único en todos los clientes de un espacio de nombres.

Si un cliente intenta asumir la sesión activa de otro cliente mediante la presentación de su nombre de sesión, su solicitud de conexión se rechaza con un error no autorizado. Por ejemplo, si el cliente B intenta conectarse a la sesión 123 que se asigna en ese momento al cliente A, se rechaza la solicitud de conexión del cliente B.

Si un cliente está desconectado sin finalizar su sesión, otros clientes no pueden usar el nombre de la sesión hasta que expire la sesión. Por ejemplo, si el cliente A crea una sesión con el nombre de sesión 123 y el cliente A se desconecta, el cliente B no puede conectarse a la sesión 123 hasta que expire la sesión original.

Configuración de CONNECT en el paquete MQTT CONNECT, incluya el nombre de autenticación de cliente en el campo Nombre de usuario, que significa la identidad del cliente. Este es un ejemplo de metadatos de cliente con el nombre de autenticación del cliente "ipv4=127.0.0.1".

Captura de pantalla que muestra la configuración del cliente con la información del nombre de autenticación del cliente resaltada.

Ahora, al conectar el cliente al espacio de nombres, puede usar el campo de Identificador del cliente en el paquete MQTT CONNECT como identificador de sesión.

Por ejemplo, en función de la configuración del cliente, puede enviar dos paquetes CONNECT con valores de campo del mismo cliente:

Puede ver una configuración de conexión de ejemplo mediante la aplicación MQTTX.

Primer paquete de conexión:

  • username: “ipv4=127.0.0.1”
  • clientId: “sessionId1”

Captura de pantalla que muestra la configuración del cliente de la aplicación MQTTX con la primera sesión.

Segundo paquete de conexión:

  • username: “ipv4=127.0.0.1”
  • clientId: “sessionId2”

Recorte de pantalla que muestra la configuración del cliente de la aplicación MQTTX con la segunda sesión.

Puede usar las mismas credenciales de certificado de cliente para autenticar ambas sesiones.