MQTT

作者: mochixuan | 来源:发表于2017-11-14 14:45 被阅读0次

    MQTT 协议主要特点

    MQTT 协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

      1. 使用发布 / 订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
      1. 对负载内容屏蔽的消息传输;
      1. 使用 TCP/IP 提供网络连接;
      1. 有三种消息发布服务质量:
      • “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次记录无所谓,因为不久后还会有第二次发送。
      • “至少一次”,确保消息到达,但消息重复可能会发生。
      • “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
      1. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
      1. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

    MQTT报文类型

    名字 报文流动方向 描述
    Reserved 0 禁止 保留
    CONNECT 1 客户端到服务端 客户端请求连接服务端
    CONNACK 2 服务端到客户端 连接报文确认
    PUBLISH 3 两个方向都允许 发布消息
    PUBACK 4 两个方向都允许 QoS 1消息发布收到确认
    PUBREC 5 两个方向都允许 发布收到(保证交付第一步)
    PUBREL 6 两个方向都允许 发布释放(保证交付第二步)
    PUBCOMP 7 两个方向都允许 QoS 2消息发布完成(保证交互第三步)
    SUBSCRIBE 8 客户端到服务端 客户端订阅请求
    SUBACK 9 服务端到客户端 订阅请求报文确认
    UNSUBSCRIBE 10 客户端到服务端 客户端取消订阅请求
    UNSUBACK 11 服务端到客户端 取消订阅报文确认
    PINGREQ 12 客户端到服务端 心跳请求
    PINGRESP 13 服务端到客户端 心跳响应
    DISCONNECT 14 客户端到服务端 客户端断开连接
    Reserved 15 禁止 保留

    相关文章

      网友评论

        本文标题:MQTT

        本文链接:https://www.haomeiwen.com/subject/qkqfvxtx.html