El intermediario envía un mensaje SUBACK al cliente para confirmar la recepción de un mensaje SUBSCRIBE.
Un mensaje SUBACK contiene una lista de niveles de QoS otorgados. Son los niveles con los cuales los administradores del intermediario permiten al cliente suscribirse a un nombre de tema específico. En la versión actual del protocolo, el intermediario siempre otorga el nivel de QoS solicitado por el suscriptor. El orden de los niveles de QoS otorgados en el mensaje SUBACK coincide con el orden de los nombres de temas en el mensaje SUBSCRIBE correspondiente.
La tabla de abajo describe el formato de la cabecera fija.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
byte 1 | Tipo de mensaje (9) | Indicador DUP | Nivel de QoS | RETAIN | ||||
1 | 0 | 0 | 1 | x | x | x | x | |
byte 2 | Longitud restante |
La cabecera variable contiene el ID de mensaje para el mensaje SUBSCRIBE del que se está acusando recibo. La tabla de abajo describe el formato de la cabecera variable.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
byte 1 | MSB de ID de mensaje | |||||||
byte 2 | LSB de ID de mensaje |
La carga útil contiene un vector de niveles de QoS otorgados. Cada nivel corresponde a un nombre de tema en el mensaje SUBSCRIBE correspondiente. El orden de los niveles de QoS en el mensaje SUBACK coincide con el orden de los pares nombre de tema y QoS solicitado en el mensaje SUBSCRIBE. El ID de mensaje de la cabecera variable permite comparar mensajes SUBACK con los mensajes SUBSCRIBE correspondientes.
La tabla que sigue muestra el campo QoS otorgado codificado en un byte.
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reservado | Reservado | Reservado | Reservado | Reservado | Reservado | Nivel de QoS | ||
x | x | x | x | x | x |
Los 6 bits superiores de este byte no se utilizan en la versión actual del protocolo. Se han reservado para un uso posterior.
La tabla que sigue muestra una carga útil de ejemplo.
QoS otorgado | 0 |
QoS otorgado | 2 |
La tabla de abajo describe el formato de esta carga útil.
Descripción | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|---|
QoS solicitado | |||||||||
byte 1 | QoS otorgado (0) | x | x | x | x | x | x | 0 | 0 |
QoS otorgado | |||||||||
byte 2 | QoS otorgado (2) | x | x | x | x | x | x | 1 | 0 |