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

  • 相关阅读:
    系统架构精选
    【原】Windows下Nexus搭建Maven私服
    【转】SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
    Windows 安装计算机系统的几种常用方法
    windows下Ruby开发环境搭建
    Redis 学习记录
    SQLServer 表数据与 Excel 中数据的互相复制
    【转】用JIRA管理你的项目
    用模板写插入排序-数组
    整数类型
  • 原文地址:https://www.cnblogs.com/ITcore/p/5390287.html
Copyright © 2011-2022 走看看