UNSUBSCRIBE 从指定的主题取消预订

客户机将 UNSUBSCRIBE 消息发送到代理以从指定的主题取消预订。

固定头

下表显示了固定头格式的示例。

7 6 5 4 3 2 1 0
字节 1 消息类型(10) DUP 标志 QoS 级别 RETAIN
  1 0 1 0 0 0 1 x
字节 2 剩余长度
QoS 级别
QoS 级别 1 是确认多个取消预订请求。通过消息标识来标识相应的 UNSUBACK 消息。按与 PUBLISH 消息相同的方法处理重试。
DUP 标志
在本示例中,DUP 标志设置为零(0)以表明这是第一次发送此消息。

如果由于在指定的超时周期后 SUBACK 消息还未到达,而要重新发送此消息,则设置 DUP 位以便向代理表明它可能是已经接收过的重复消息。

RETAIN 标志
未使用。
剩余长度
这是有效内容的长度。它可以是多字节字段。

可变头

可变头包含消息标识,因为 UNSUBSCRIBE 消息有 QoS 级别 1。

通常,协议库生成消息标识,并将它传递回发布应用程序(例如,作为返回句柄)。这防止在单个客户机上运行的多个应用程序或多个发布进程生成重复的消息标识。

消息标识 0(0x0000)保留为无效的消息标识,不能使用。消息标识为 16 位不带正负号的整数,通常一条消息到另一条消息的消息标识正好增加 1,但这并不是必需的。消息标识的两个字节的排列次序为 MSB,后跟 LSB(大尾数法)。

下表显示了带有消息标识为 10 的可变头的示例格式。

  描述 7 6 5 4 3 2 1 0
消息标识
字节 1 消息标识 MSB(0) 0 0 0 0 0 0 0 0
字节 2 消息标识 LSB(10) 0 0 0 0 1 0 1 0

有效内容

客户机从有效内容中指定的主题列表取消预订。该字符串是 UTF 编码的,且连续地压缩。UNSUBSCRIBE 消息中的主题名称是不压缩的。下表显示了一个示例有效内容。

主题名称 "a/b"
主题名称 "c/d"

下表显示了该有效内容的格式。

  描述 7 6 5 4 3 2 1 0
主题名称
字节 1 长度 MSB(0) 0 0 0 0 0 0 0 0
字节 2 长度 LSB(3) 0 0 0 0 0 0 1 1
字节 3 'a' (0x61) 0 1 1 0 0 0 0 1
字节 4 '/' (0x2F) 0 0 1 0 1 1 1 1
字节 5 'b' (0x62) 0 1 1 0 0 0 1 0
主题名称
字节 6 长度 MSB(0) 0 0 0 0 0 0 0 0
字节 7 长度 LSB(3) 0 0 0 0 0 0 1 1
字节 8 'c' (0x63) 0 1 1 0 0 0 1 1
字节 9 '/' (0x2F) 0 0 1 0 1 1 1 1
字节 10 'd' (0x64) 0 1 1 0 0 1 0 0

响应

代理将 UNSUBACK 发送到客户机以响应 UNSUBSCRIBE 消息。

声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac11030_