zoukankan      html  css  js  c++  java
  • MOTT的学习(一)

    MQTT的消息体

    flag

    此标志设置时,客户端或服务器尝试重新publish,PUBREL,subcribe或unsubscribe消息。这适用于消息,
    其中的QoS的值大于零(0),并且需要确认。当DUP位被设置,所述其头部包含一个消息ID。

    QoS

    • QoS=0:最多一次,有可能重复或丢失。
    • QoS=1:至少一次,有可能重复。
    • Client[Qos=1,DUP=0/重复次数/,MessageId=x] --->PUBLISH--> Server收到后,存储Message,发布,删除,向Client回发PUBACKClient收到PUBACK后,删除Message;如果未收到PUBACK,设置DUP++,重新发送,Server端重新发布,所以有可能重复发送消息。
    • QoS=2:只有一次,确保消息只到达一次(用于比较严格的计费系统)。

    Message Type

    CONECT

    • TCP连接建立完毕后,Client向Server发出一个Request。
    • 如果一段时间内接收不到Server的Response,则关闭socket,重新建立一个session连接
    • 如果一个ClientID已经与服务器连接,则持有同样ClientID的旧有连接必须由服务器关闭后,新建立才能建立。

    CONNACK Server发出Response响应。

    • 0x00 Connection Accepted
    • 0x01 Connection Refused: unacceptable protocol version
    • 0x02 Connection Refused: identifier rejected
    • 0x03 Connection Refused: server unavailable
    • 0x04 Connection Refused: bad user name or password
    • 0x05 Connection Refused: not authorized

    PUBLISH 发送消息

    Client/Servier均可以进行PUBLISH。
    publish message 应该包含一个TopicName(Subject/Channel),即订阅关键词

  • 相关阅读:
    python ddt数据驱动框架
    yarn的安装和使用【转】
    辅助色选取思路
    echarts y轴起始坐标值设置
    mapbox 图层视角设置
    vue-cli2使用store存储全局变量
    vue 数组不响应解决办法
    echarts之dataZoom配置项【转】
    Vue中使用地图平台MapboxGL【转载】
    快速入门MapboxGL【转载】
  • 原文地址:https://www.cnblogs.com/ITcore/p/5390287.html
Copyright © 2011-2022 走看看