UNSUBSCRIBE Anulación de suscripciones a temas específicos

El cliente envía un mensaje UNSUBSCRIBE al intermediario para anular la suscripción a temas específicos.

Cabecera fija

La tabla que sigue muestra un ejemplo de formato de cabecera fija.

bit 7 6 5 4 3 2 1 0
byte 1 Tipo de mensaje (10) Indicador DUP Nivel de QoS RETAIN
  1 0 1 0 0 0 1 x
byte 2 Longitud restante
Nivel de QoS
El nivel de QoS es 1 para acusar recibo de varias peticiones de anulación de suscripción. El mensaje UNSUBACK correspondiente se identifica mediante el ID de mensaje. Los reintentos se gestionan de la misma forma que los mensajes PUBLISH.
Indicador DUP
En este ejemplo, el indicador DUP se establece en cero (0) para indicar que el mensaje se está enviando por primera vez.

Si el mensaje se está volviendo a enviar debido a que no ha llegado un mensaje SUBACK después de un tiempo de espera excedido especificado, se establece el bit de DUP para indicar al intermediario que puede haberse recibido ya un duplicado del mensaje.

Indicador RETAIN
No usado.
Longitud restante
Esta es la longitud de la carga útil. Puede ser un campo de múltiples bytes.

Cabecera variable

La cabecera variable contiene un ID de mensaje debido a que un mensaje UNSUBSCRIBE tiene un nivel de QoS 1.

Normalmente, la biblioteca de protocolos genera el ID de mensaje (Message ID) y lo devuelve a la aplicación de publicación como, por ejemplo, un manejador de devolución. Esto evita que varias aplicaciones o hebras de publicación se ejecuten en un solo cliente, generen ID de mensajes duplicados.

El ID de mensaje 0 (0x0000) está reservado como ID de mensaje no válido y no debe usarse. El ID de mensaje es un entero sin signo, de 16 bits, que normalmente aumenta exactamente en 1 de un mensaje a otro, pero que no está obligado a hacerlo. Los dos bytes del ID de mensaje están ordenados como MSB seguido de LSB (big-endian).

La tabla que sigue muestra un formato de ejemplo para la cabecera variable con un ID de mensaje 10.

  Descripción 7 6 5 4 3 2 1 0
Identificador de mensaje
byte 1 MSB de ID de mensaje 0 0 0 0 0 0 0 0
byte 2 LSB de ID de mensaje (10) 0 0 0 0 1 0 1 0

Carga útil

El cliente anula la suscripción de la lista de temas que aparecen en la carga útil. Las series de caracteres están codificadas en UTF y empaquetadas de forma contigua. Los nombres de temas de un mensaje UNSUBSCRIBE no se comprimen. La tabla que sigue muestra una carga útil de ejemplo.

Nombre de tema "a/b"
Nombre de tema "c/d"

La tabla de abajo describe el formato de esta carga útil.

  Descripción 7 6 5 4 3 2 1 0
Nombre de tema
byte 1 MSB de longitud (0) 0 0 0 0 0 0 0 0
byte 2 LSB de longitud (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
Nombre de tema
byte 6 MSB de longitud (0) 0 0 0 0 0 0 0 0
byte 7 LSB de longitud (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

Respuesta

El intermediario envía una UNSUBACK a un cliente en respuesta a un mensaje UNSUBSCRIBE.

Conceptos relacionados
WebSphere MQ Telemetry Transport
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac11030_