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-Ebenen. Auf diesen Stufen gewähren die Broker-Administratoren dem Client die Subskribierung bestimmter Abschnittsnamen. In der aktuellen Protokollversion gewährt der Broker immer die vom Subskribenten angeforderte QoS-Ebene. Die Reihenfolge der gewährten QoS-Ebenen in der SUBACK-Nachricht ist mit der Reihenfolge der Abschnittsnamen 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-Flag | QoS-Ebene | 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-Ebenen. Jede Stufe entspricht einem Abschnittsnamen in der entsprechenden SUBSCRIBE-Nachricht. Die Reihenfolge der gewährten QoS-Ebenen in der SUBACK-Nachricht ist mit der Reihenfolge der Abschnittsnamen 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-Ebene, verschlüsselt in einem Byte.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserviert | Reserviert | Reserviert | Reserviert | Reserviert | Reserviert | QoS-Ebene | ||
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-Ebene | 0 |
Erteilte QoS-Ebene | 2 |
Die nachfolgende Tabelle zeigt das Format dieser Nutzlast.
Beschreibung: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
Erforderliche QoS-Ebene | |||||||||
Byte 1 | Erteilte QoS-Ebene (0) | x | x | x | x | x | x | 0 | 0 |
Erteilte QoS-Ebene | |||||||||
Byte 2 | Erteilte QoS-Ebene (2) | x | x | x | x | x | x | 1 | 0 |