Standing on the Shoulder of Giants
Home
Archives
Links icon
LinkedIn Twitter
About
  • MQTT控制报文

    Jun 6, 2023 · 3 min read · MQTT  ·
    分享到:
    MQTT控制报文

    控制报文结构 MQTT 控制报文由三部分组成,按照 下图描述的顺序: 固定报头 每个 MQTT 控制报文都包含一个固定报头。下图描述了固定报头的格式,固定报头的第一字节是固定的,用于表示控制报文类型和标志位,不再赘述请参考 MQTT协议规范 紧接的是剩余长度这里重点记录一下剩余长度的含义以及计算方式。 剩余长度 **剩余长度(Remaining Length)**表示当前报文剩余部分的字节数,包括可变报头(Variable header)和负载(Payload)的数据 剩余长度字段使用一个变长度编码方案,从byte2开始,最多可达4个字节,也就是说可能用byte2~byte5来编码表示剩余长度 对于小于128的值使用单字节编码,大 …

    阅读更多
  • MQTT QoS和协议流程

    May 23, 2023 · 2 min read · MQTT QoS  ·
    分享到:
    MQTT QoS和协议流程

    一些容易搞混的概念: QoS是发送者和接受者之间的协议,而不是Publisher和Subscriber之间的协定,Subscriber订阅到的消息的QoS和Publisher没有直接关系 Subscriber订阅到的消息的QoS:Publisher发布消息到Broker的QoS为QoSA,Subscriber从Broker订阅消息的QoS为QoSB,取QoSA和QoSB这二者的最小值 QoS 0:最多分发一次 消息的分发依赖于底层网络的能力。接收者不会发送响应,发送者也不会重试。消息可能送达一次也可能根本没送达。 QoS1:至少分发一次 服务质量确保消息至少送达一次。QoS 1 的 PUBLISH 报文的可变报头中包含一个报文标识 …

    阅读更多
  • 保留消息和最后遗嘱

    May 23, 2023 · 1 min read · MQTT LWT Retained  ·
    分享到:
    保留消息和最后遗嘱

    保留消息(Retained) 保留消息是指在 PUBLISH 数据包中 Retain 标识设为 1 的消息,Broker 收到这样的 PUBLISH 包以后,将保存这个消息以及它的QoS,当有一个新的订阅者订阅相应主题的时候,Broker 会马上将这个消息发送给订阅者。 保留消息具有以下特点: 一个 Topic 只能有 1 条保留消息,发布新的保留消息将覆盖老的保留消息 如果订阅者使用通配符订阅主题,它会收到所有匹配的主题上的保留消息,如下所示 保留消息发送到订阅者时,消息的 Retain 标识仍然是 1,订阅者可以判断这个消息是否是保留消息,以做相应的处理。同时,订阅者收到的消息的QoS与保留消息一致 只有新的订阅者才会收到保留消 …

    阅读更多
  • MQTT杂记

    Feb 24, 2023 · 1 min read · MQTT  ·
    分享到:
    MQTT杂记

    本文记录一些学些MQTT的过程中的重点和难点,学习材料包括: MQTT协议规范 MQTT 协议学习: 总结 与 各种定义的速查表 - schips - 博客园 (cnblogs.com) 角色 MQTT Broker - 消息代理服务器 MQTT Client - 消息发布者,通过QoS和Topic发布和订阅消息。MQTT Client可以同时是Publisher和Subscriber 订阅 包含一个主题和QoS 订阅与单个会话关联,一个会话可以包含一个或者多个订阅 主题名和主题过滤器 以下内容多来自MQTT3.1.1规范 MQTT Client通过主题发布和订阅消息。主题名可以有不同层级,通过/划分。主题可能是管理员在服务端预先定 …

    阅读更多
  • Mac下安装和配置Mosquitto

    Feb 21, 2023 · 1 min read · MQTT  ·
    分享到:
    Mac下安装和配置Mosquitto

    安装 Mac下通过brew安装Mosquitto只需要一条简单的命令:brew install mosquitto 1mosquitto has been installed with a default configuration file. 2You can make changes to the configuration by editing: 3 /usr/local/etc/mosquitto/mosquitto.conf 4 5To restart mosquitto after an upgrade: 6 brew services restart mosquitto 7Or, if you don't …

    阅读更多
Jonathan Lin photo

Jonathan Lin

大龄编程爱好者,摄影爱好者。喜欢徒步喜欢户外,喜欢有事没事拍拍孩子,记录生活记录孩子成长
阅读更多

最新文章

  • MQTT控制报文
  • MQTT QoS和协议流程
  • 保留消息和最后遗嘱
  • MQTT杂记
  • UTF-8编码知识点整理
  • Mac下安装和配置Mosquitto
  • C Primer Plus读书笔记(二)
  • C Primer Plus读书笔记(三)

分类

NOTES 18 TRANSLATION 5 HOW-TO 1

标签

C 6 C-PRIMER-PLUS 6 GOLANG 5 MONGODB 5 MQTT 5 GOROUTINE 3 CONCURRENCY-TRAP 2 PROTOBUF 2 CONCURRENCY 1 ENCODING 1 GITHUB-ACTION 1 GITHUB-PAGES 1 HUGO 1 LWT 1
所有标签
C6 C-PRIMER-PLUS6 CONCURRENCY1 CONCURRENCY-TRAP2 ENCODING1 GITHUB-ACTION1 GITHUB-PAGES1 GOLANG5 GOROUTINE3 HUGO1 LWT1 MONGODB5 MQTT5 PROTOBUF2 QOS1 REGEX1 RETAINED1 UNICODE1 UTF1
[A~Z][0~9]
Standing on the Shoulder of Giants Copyright © 2023 Jonathan Lin. All rights reserved.