zoukankan      html  css  js  c++  java
  • MQTT控制---subscribe

    连接服务端

      客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅

    固定报头

      报头长度:2 Bytes

      1、报头控制类型(0x82)

      报文SUBSCRIBE控制报固定报头的第3、2、1、0位是保留位,必须设置为0,、0、1、0。

      服务器必须将其它的任何值当做是不合法的并关闭连接。

      2、剩余长度

      等于可变报头的长度加上有效载荷的长度。

    可变报头

      可变报头包含客户端标识符,红色标记。(eg:82 09 00 02 00 04 30 37 35 35 00)

      1、标识符 。

      如上面的红色标记部分。

    有效载荷

      SUBSCRIBE报文的有效载荷包含一个主题过滤器列表,表示客户端想要订阅的主题。

      每一个过滤器后面跟着一个字节的QoS。

      SUBSCRIBE报文的有效载荷必须包含至少一对过滤器和QoS组合。

      每对组合如下格式:

      QoS的高6位字节保留。

    响应

      server收到SUBSCRIBE报文时,必须使用SUBACK报文响应。

      SUBACK报文必须和等待确认的SUBSCRIBE报文有相同的报文标识符。

    -----------------------------------------------------------------------------------------------------------------------

    SUBACK-订阅确认

      server发送给client的SUBACK,用于确认它已经收到并且正在处理SUBSCRIBE报文。

      SUBACK报文包含一个返回码清单,指定了SUBSCRIBE请求的每个订阅被授予的最大QoS等级。

      固定报头

      报头格式描述如下:

      剩余长度字段 = 可变报头的长度 + 有效载荷的长度

      可变报头

      可变报头包含标识符:(90 03 00 01 00)

      有效载荷

        有效载荷包含一个返回码清单,每个返回码对应等待确认的SUBSCRIBE报文中的一个主题过滤器。

        允许的返回值:

        0x00 - 最大QoS 0

        0x01 - 成功,最大QoS 1

        0x02 - 成功,最大QoS 2

        0x80 - 失败

      0x00、0x01、0x02、0x80之外的SUBACK返回码都是保留的,不能使用。

  • 相关阅读:
    php 表单的活用
    PHP 内存的分布问题
    php 半角与全角相关的正则
    解决 U盘安装Windows Server 2012 R2 报错 Windows 无法打开所需的文件 Sourcesinstall.wim
    VS2010或2012中,如何设置代码格式化?
    变色龙引导安装黑苹果 遇到的问题的解决办法
    Ozmosis实现BIOS直接启动Yosemite,基本完美
    MMTool制作Ozmosis引导BIOS完美引导OS X系统
    黑苹果安装步骤
    win8.1 usb3 速度慢的解决方法
  • 原文地址:https://www.cnblogs.com/daiker/p/6511385.html
Copyright © 2011-2022 走看看