取消订阅用于客户端向服务端请求取消已经订阅的主题。客户端向服务端发送请求UNSUBSCRIBE,服务端需要回复UNSUBSCRIBE ACK。
一、场景示意图
二、协议简述
客户端需要主动向服务端发送UNSUBSCRIBE报文,报文与SUBSCRIBE报文相似,支持一次取消多个订阅主题。
- 固定报文头。第一个字节是
控制报文标识符
,紧接着的字节为报文的剩余长度
,这个剩余长度是不包含固定报文头的; - 报文标识符。共两个字节MSB,LSB,用以区分报文。服务端接回复给客户端的报文也要对应相同的报文标识符;
- 主题长度。用以表示接下来这个主题共占有多少字节;
- 主题。即需要取消的主题;
- 当有多个主题需要取消时可以重复3~4。
- 取消多个主题报文(不包含固定报文头)
在服务端接收客户端取消订阅请求之后,服务端需要作相应处理并回复UNSUBSCRIBE ACK报文。
- 固定报文头。第一个字节是
控制报文标识符
,紧接着的字节为报文的剩余长度
,这个剩余长度是不包含固定报文头的; - 报文标识符。共占两个字节,即UNSUBSCRIBE报文中携带的报文标识符。