Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • MQTT clients are connecting with the 'Clean Session' flag set to False
    • To receive messages from an MQTT Server, a client establishes a connection and creates subscriptions to the desired topicsWhen a MQTT client connects in a persistent session, 'Clean Session' set to False, all relevant client information on the broker is stored ensuring that subscriptions and messages are retained even when the client is offline.
    • When a MQTT client connects in a non-persistent session, with 'Clean Sesion' set to True, if the connection between the client and broker is interrupted the client loses its subscriptions and needs to re-subscribe upon reconnection.When a MQTT client connects in a persistent session, 'Clean Session' set to False, all relevant client information on the broker is stored ensuring that subscriptions and messages are retained even when the client is offline.

  • MQTT client publishing with the 'Retain' flag set to True
    • When a client publishes a message with the “retained” flag set to true, the broker retains the message. Consequently, any client subscribing to the corresponding topic will receive the most recent retained message, even if no recent publications have occurred.

...

The chart below summarizes how Quality of Service (QOS), Clean Session flag and Retain Message flag affects what messages are receivedpersisted.

Retain Message flagClean Session flagSubscribe QOSPublish QOSPublished Message Always ReceivedPersisted
FalseTrue

0

0No
FalseTrue01 or 2No
FalseTrue1 or 20No
FalseTrue1 or 21 or 2No
FalseFalse00No
FalseFalse01 or 2No
FalseFalse1 or 20No
FalseFalse1 or 21 or 2Yes - all messages
TrueTrue

0

0Yes - last message only for each unique MQTT topic
TrueTrue01 or 2Yes - last message only for each unique MQTT topic
TrueTrue1 or 20Yes - last message only for each unique MQTT topic
TrueTrue1 or 21 or 2Yes - last message only for each unique MQTT topic
TrueFalse00Yes - last message only for each unique MQTT topic
TrueFalse01 or 2Yes - last message only for each unique MQTT topic
TrueFalse1 or 20Yes - last message only for each unique MQTT topic
TrueFalse1 or 21 or 2Yes - all messages

...