Die Argumente Clean start, Will, Will QoS und Retain sind im variablen Header einer CONNECT-Nachricht enthalten.
Position: Bit 1 des Bytes für das CONNECT-Argument.
Setzt den Client auf einen für den Broker bekannten, "bereinigten" Status zurück. Wird das Argument gesetzt ist, verwirft der Broker alle ausstehenden Nachrichten, löscht alle Subskriptionen für den Client und setzt die Nachrichten-ID auf 1 zurück. Der Client fährt fort, ohne dass die Gefahr besteht, dass Daten aus vorherigen Verbindungen mit der aktuellen Verbindung in Konflikt geraten. Die nachfolgende Tabelle zeigt das Format des Clean Start-Arguments.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Will Retain | Will QoS | Will Argument | Clean Start | Reserviert | ||
x | x | x | x | x | x | x |
Die Bits 7, 6 und 0 dieses Bytes werden in der aktuellen Protokollversion nicht verwendet. Sie sind zur zukünftigen Nutzung reserviert.
Position: Bit 2 des Bytes für das CONNECT-Argument.
Die Will-Nachricht legt fest, dass der Broker im Namen des Clients eine Nachricht veröffentlicht, wenn der Broker während der Kommunikation mit dem Client einen E/A-Fehler feststellt oder wenn der Client innerhalb des Zeitplans für die Aufrechterhaltung (Keep Alive) nicht kommunizieren kann. Das Senden einer Will-Nachricht wird nicht vom Broker ausgelöst, der eine DISCONNECT-Nachricht vom Client empfängt.
Wenn das Will-Argument gesetzt ist, müssen die Felder "Will QoS" und "Will Retain" im Byte für das CONNECT-Argument vorhanden sein, und die Felder "Will-Thema" und "Will-Nachricht" müssen in der Nutzlast vorhanden sein.
Die nachfolgende Tabelle zeigt das Format des WillArguments.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Will Retain | Will QoS | Will Argument | Clean Start | Reserviert | ||
x | x | x | x | x | x | x |
Die Bits 7, 6 und 0 dieses Bytes werden in der aktuellen Protokollversion nicht verwendet. Sie sind zur zukünftigen Nutzung reserviert.
Position: Bits 4 und 3 des Bytes für das CONNECT-Argument.
Ein Client, der eine Verbindung herstellt, gibt die QoS-Stufe im Feld "Will QoS" für eine Will-Nachricht an, die gesendet wird, wenn die Verbindung zum Client versehentlich getrennt wird. Die Will-Nachricht ist in der Nutzlast einer CONNECT-Nachricht definiert.
Wenn das Will-Argument gesetzt ist, muss das Feld "Will QoS" ausgefüllt werden, da ansonsten sein Wert nicht berücksichtigt wird.
Der Wert von Will QoS ist 0 (0x00), 1 (0x01) oder 2 (0x02). Das Will QoS-Argument wird in der nachfolgenden Tabelle dargestellt.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Will Retain | Will QoS | Will Argument | Clean Start | Reserviert | ||
x | x | x | 1 | x | x |
Die Bits 7, 6 und 0 dieses Bytes werden in der aktuellen Protokollversion nicht verwendet. Sie sind zur zukünftigen Nutzung reserviert.
Position: Bit 5 des Bytes für das CONNECT-Argument.
Das Will Retain-Argument zeigt an, ob der Broker die Will-Nachricht zurückbehalten soll, die der Broker im Namen des Clients veröffentlicht hat, wenn die Verbindung zum Client versehentlich getrennt wird.
Das Will Retain-Argument ist verbindlich, wenn das Will-Argument gesetzt ist, da es ansonsten nicht berücksichtigt wird. Die nachfolgende Tabelle zeigt das Format des Will Retain-Arguments.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Will Retain | Will QoS | Will Argument | Clean Start | Reserviert | ||
x | x | x | x | 1 | x | x |
Die Bits 7, 6 und 0 dieses Bytes werden in der aktuellen Protokollversion nicht verwendet. Sie sind zur zukünftigen Nutzung reserviert.