En MQTT, es el cliente quien inicia la conexión con un mensaje CONNECT.
El primer campo del paquete es el clientId
:
El identificador de cliente (ID de cliente corto) es un identificador de cada cliente MQTT que se conecta a un intermediario MQTT. Como el identificador de la palabra ya sugiere, debe ser único por corredor. El intermediario lo utiliza para identificar al cliente y el estado actual del cliente. (La imagen y la cita se toman de aquí ).
Ahora supongamos que tengo dos clientes, el cliente X e Y en la siguiente situación.
- Broker lanzado, todavía no hay clientes.
- X se conecta con éxito al agente con
client-1
id, el nombre de usuario esX
. - Ahora, Y intenta conectarse usando
client-1
como id, el nombre de usuario esY
.
¿Lo que sucederá?
- Según el ID de cliente, el intermediario pensará que X realiza un intento de conexión repetido que es un comportamiento anormal .
- Nada extraordinario sucederá. Y se conecta con éxito ya que utiliza un nombre de usuario diferente .
- Nada extraordinario sucederá. El intermediario rechazará el intento de conexión Y ya que el ID de cliente dado ya está en uso.