Eine SUBACK-Nachricht wird vom Broker an den Client gesendet, um den Erhalt einer SUBSCRIBE-Nachricht zu bestätigen.
Eine SUBACK-Nachricht enthält eine Liste mit erteilten QoS-Stufen. Auf diesen Stufen gewähren die Broker-Administratoren dem Client die Subskription bestimmter Themennamen. In der aktuellen Protokollversion gewährt der Broker immer die vom Subskribenten angeforderte QoS-Stufe. Die Reihenfolge der gewährten QoS-Stufen in der SUBACK-Nachricht ist mit der Reihenfolge der Themennamen in der entsprechenden SUBSCRIBE-Nachricht identisch.
Die nachfolgende Tabelle zeigt das Format des festen Headers.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Byte 1 | Nachrichtenart (9) | DUP-Argument | QoS-Stufe | RETAIN | ||||
1 | 0 | 0 | 1 | x | x | x | x | |
Byte 2 | Verbleibende Länge |
Der variable Header enthält die Nachrichten-ID für die bestätigte SUBSCRIBE-Nachricht. Die nachfolgende Tabelle zeigt das Format des variablen Headers.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Byte 1 | Nachrichten-ID MSB | |||||||
Byte 2 | Nachrichten-ID LSB |
Die Nutzlast enthält einen Vektor mit erteilten QoS-Stufen. Jede Stufe entspricht einem Themennamen in der entsprechenden SUBSCRIBE-Nachricht. Die Reihenfolge der gewährten QoS-Stufen in der SUBACK-Nachricht ist mit der Reihenfolge der Themennamen und angeforderten QoS-Paare in der SUBSCRIBE-Nachricht identisch. Die Nachrichten-ID im variablen Header ermöglicht Ihnen, SUBACK-Nachrichten mit den entsprechenden SUBSCRIBE-Nachrichten abzugleichen.
Die nachfolgende Tabelle zeigt das Feld mit der erteilten QoS-Stufe, verschlüsselt in einem Byte.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Reserviert | Reserviert | Reserviert | Reserviert | QoS-Stufe | ||
x | x | x | x | x | x |
Die oberen 6 Bit dieses Bytes werden in der aktuellen Protokollversion nicht verwendet. Sie sind zur zukünftigen Nutzung reserviert.
Die nachfolgende Tabelle zeigt ein Nutzlast-Beispiel.
Erteilte QoS-Stufe | 0 |
Erteilte QoS-Stufe | 2 |
Die nachfolgende Tabelle zeigt das Format dieser Nutzlast.
Beschreibung: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
Erforderliche QoS-Stufe | |||||||||
Byte 1 | Erteilte QoS-Stufe (0) | x | x | x | x | x | x | 0 | 0 |
Erteilte QoS-Stufe | |||||||||
Byte 2 | Erteilte QoS-Stufe (2) | x | x | x | x | x | x | 1 | 0 |