UNSUBSCRIBE - Annullamento sottoscrizione ad argomenti definiti

Un messaggio UNSUBSCRIBE è inviato dal client al broker per annullare la sottoscrizione ad argomenti definiti.

Intestazione fissa

La seguente tabella mostra un esempio del formato dell'intestazione fissa.

bit 7 6 5 4 3 2 1 0
byte 1 Tipo messaggio (10) Indicatore DUP Livello QoS RETAIN
  1 0 1 0 0 0 1 x
byte 2 Lunghezza rimanente
Livello QoS
Il livello QoS è 1 per confermare più richieste di annullamento sottoscrizione. Il messaggio UNSUBACK corrispondente è identificato dall'ID del messaggio. I nuovi tentativi sono gestiti allo stesso modo dei messaggi PUBLISH.
Indicatore DUP
In questo esempio l'indicatore DUP è impostato su zero (0) per indicare che il messaggio è stato inviato per la prima volta.

Se questo messaggio viene nuovamente inviato perché un messaggio SUBACK non è arrivato entro un periodo di timeout specificato, il bit DUP viene impostato per indicare al broker che potrebbe essere un duplicato di un messaggio già ricevuto.

Indicatore RETAIN
Non utilizzato.
Lunghezza rimanente
Questa è la lunghezza del Payload. Può essere un campo a più byte.

Intestazione variabile

L'intestazione variabile contiene un ID messaggio perché un messaggio UNSUBSCRIBE ha un livello QoS 1.

In genere, la libreria del protocollo genera l'ID messaggio e lo ritrasmette all'applicazione di pubblicazione, ad esempio come handle di ritorno. Questo impedisce che più applicazioni, più thread di pubblicazione, in esecuzione su un singolo client generino ID messaggio duplicati.

L'ID messaggio 0 (0x0000) è riservato come ID messaggio non valido e non può essere utilizzato. L'ID messaggio è un numero intero senza segno a 16-bit, che in genere aumenta esattamente di uno da un messaggio all'altro, ma non obbligatoriamente. I due byte dell'ID messaggio sono ordinati come MSB, seguito da LSB (big-endian).

La seguente tabella mostra un esempio di formato per l'intestazione variabile con un ID messaggio pari a 10.

  Descrizione 7 6 5 4 3 2 1 0
Identificativo del messaggio
byte 1 MSB ID messaggio (0) 0 0 0 0 0 0 0 0
byte 2 LSB ID messaggio (10) 0 0 0 0 1 0 1 0

Payload

Il client annulla la sottoscrizione all'elenco di argomenti definiti nel payload. Le stringhe sono codificate UTF e compresse in modo contiguo. I nomi argomento in un messaggio UNSUBSCRIBE non sono compressi. La seguente tabella mostra un esempio di payload.

Nome argomento "a/b"
Nome argomento "c/d"

La seguente tabella mostra il formato di questo payload.

  Descrizione 7 6 5 4 3 2 1 0
Nome argomento
byte 1 MSB della lunghezza (0) 0 0 0 0 0 0 0 0
byte 2 LSB della lunghezza (3) 0 0 0 0 0 0 1 1
byte 3 'a' (0x61) 0 1 1 0 0 0 0 1
byte 4 '/' (0x2F) 0 0 1 0 1 1 1 1
byte 5 'b' (0x62) 0 1 1 0 0 0 1 0
Nome argomento
byte 6 MSB della lunghezza (0) 0 0 0 0 0 0 0 0
byte 7 LSB della lunghezza (3) 0 0 0 0 0 0 1 1
byte 8 'c' (0x63) 0 1 1 0 0 0 1 1
byte 9 '/' (0x2F) 0 0 1 0 1 1 1 1
byte 10 'd' (0x64) 0 1 1 0 0 1 0 0

Risposta

Il broker invia un messaggio UNSUBACK ad un client in risposta a un messaggio UNSUBSCRIBE.

Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac11030_