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),即订阅关键词

  • 相关阅读:
    IDEA安装scala搭建项目环境
    安装配置Maven和创建Java项目
    IDEA 2019.2的安装破解教程
    GroupBy
    C#快速傅立叶变换(Fast Fourier Transform)
    多种方式收费解决方案
    随机数生成算法
    C#生成随机数的三种方法
    统治世界的十大算法,你都了解多少?
    VR和AR技术是什么意思 二者有什么区别详解
  • 原文地址:https://www.cnblogs.com/ITcore/p/5390287.html
Copyright © 2011-2022 走看看