范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

网络MQTT协议

  前言
  MQTT (Message Queue Telemetry Transport)是一种基于发布/订阅(publish/subscribe)模式的轻量级通讯协议,通过订阅相应的主题来获取消息,是物联网(Internet of Thing)中的一个标准传输协议。
  该协议将消息的发布者(publisher)与订阅者(subscriber)进行分离,因此可以在不可靠的网络环境中,为远程连接的设备提供可靠的消息服务,使用方式与传统的 MQ 有点类似。
  TCP 协议位于传输层,MQTT 协议位于应用层,MQTT 协议构建于 TCP/IP 协议上,理论上,只要支持 TCP/IP 协议栈的地方,都可以使用 MQTT 协议。协议优势
  MQTT 协议在物联网(IOT)中非常流行,主要有几点:HTTP 协议它是一种同步协议,客户端请求后需要等待服务器的响应。而在物联网(IOT)环境中,设备会很受制于环境的影响,比如带宽低、网络延迟高、网络通信不稳定等,显然异步消息协议更为适合 IOT 应用程序。HTTP 是单向的,如果要获取消息客户端必须发起连接,而在物联网(IOT)应用程序中,设备或传感器往往都是客户端,这意味着它们无法被动地接收来自网络的命令。
  通常需要将一条命令或者消息,发送到网络上的所有设备上。HTTP 要实现这样的功能不但很困难,而且成本极高。协议结构
  MQTT是一种轻量级的协议,它只专注于发消息, 所以此协议的结构也比较简单。MQTT数据包
  在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、 可变头(Variable header)、 消息体(payload)三部分构成。
  固定头(Fixed header),所有数据包中都有固定头,包含数据包类型及数据包的分组标识。可变头(Variable header),部分数据包类型中有可变头。消息体(Payload),存在于部分数据包类,是客户端收到的具体消息内容。固定头
  固定头 存在于所有 MQTT 数据包中,使用两个字节,共16位,结构如下:
  4-7位表示消息类型,使用 4 位二进制表示,可代表如下的16种消息类型,不过 0 和 15位置属于保留待用,所以共14种消息事件类型。
  DUP Flag(重试标识)
  DUP Flag:保证消息可靠传输,消息是否已送达的标识。默认为0,只占用一个字节,表示第一次发送,当值为 1 时,表示当前消息先前已经被传送过。QoS Level(消息质量等级)
  QoS Level:消息的质量等级RETAIN(持久化)值为 1 :表示发送的消息需要一直持久保存,而且不受服务器重启影响,不但要发送给当前的订阅者,且以后新加入的客户端订阅了此 Topic,订阅者也会马上得到推送。注意:新加入的订阅者,只会取出最新的一个RETAIN flag = 1的消息推送。值为 0 :仅为当前订阅者推送此消息。Remaining Length(剩余长度)
  在当前消息中剩余的 byte 数,包含可变头部和消息体payload。
  可变头
  固定头部仅定义了消息类型和一些标志位,一些消息的元数据需要放入可变头部中。可变头部内容字节长度 + 消息体payload = 剩余长度。
  可变头部居于固定头部和payload中间,包含了协议名称,版本号,连接标志,用户授权,心跳时间等内容。
  可变头存在于这些类型的消息:PUBLISH (QoS > 0)PUBACKPUBRECPUBRELPUBCOMPSUBSCRIBESUBACKUNSUBSCRIBEUNSUBACK消息体
  消息体 payload 只存在于 CONNECT、PUBLISH、SUBSCRIBE、SUBACK、UNSUBSCRIBE 这几种类型的消息:CONNECT:包含客户端的ClientId、订阅的Topic、Message以及用户名和密码。PUBLISH:向对应主题发送消息。SUBSCRIBE:要订阅的主题以及QoS。SUBACK:服务器对于SUBSCRIBE所申请的主题及 QoS 进行确认和回复。UNSUBSCRIBE:取消要订阅的主题。消息质量(QoS)
  消息的发送质量,发布者(publisher)和订阅者(subscriber)都可以指定 qos 等级,有三个等级:QoS 0QoS 1QoS 2QoS 0
  At most once(至多一次)只发送一次消息,不保证消息是否成功送达,没有确认机制,消息可能会丢失或重复。具体流程
  QoS 1
  At least once(至少一次),相对于 QoS 0 而言 Qos 1 增加了 ack 确认机制,发送者(publisher)推送消息到MQTT代理(broker)时,两者自身都会先持久化消息,只有当publisher 或者 Broker分别收到 PUBACK确认时,才会删除自身持久化的消息,否则就会重发。
  虽然可以通过确认来保证一定收到客户端 或 服务器的 message,可却不能保证只收到一次 message,当客户端publisher没收到Broker的puback或者 Broker没有收到subscriber的puback,那么就会一直重发。具体流程publisher store msg -> publish ->broker (发送 message)broker -> puback -> publisher delete msg (确认回执)
  QoS 2
  Exactly once(只有一次),相对于QoS 1,QoS 2升级实现了仅接受一次message,publisher 和 broker 同样对消息进行持久化,其中 publisher 缓存了message和 对应的 msgId,而 broker 缓存了 msgId,可以保证消息不重复,由于又增加了一个confirm 机制,整个流程变得复杂很多。具体流程:publisher store msg -> publish ->broker -> broker store (发送消息)msgId(传递 message) broker -> puberc (确认传递成功)publisher -> pubrel ->broker delete msgId (通知broker删除msgId)broker -> pubcomp -> publisher delete msg (通知publisher删除msg)
  最后遗嘱(LWT)
  LWT 全称为 Last Will and Testament,遗嘱是一个由客户端预先定义好的主题和对应消息,附加在CONNECT的数据包中,包括遗愿主题、遗愿 QoS、遗愿消息等。
  当MQTT代理 Broker 检测到有客户端client非正常断开连接时,再由服务器主动发布此消息,然后相关的订阅者会收到消息。遗嘱的相关参数:Will Flag:是否使用 LWT,1 开启Will Topic:遗愿主题名,不可使用通配符Will Qos:发布遗愿消息时使用的 QoSWill Retain:遗愿消息的 Retain 标识Will Message:遗愿消息内容客户端非正常断开连接的场景Broker 检测到底层的 I/O 异常;客户端 未能在心跳 Keep Alive 的间隔内和 Broker 进行消息交互;客户端 在关闭底层 TCP 连接前没有发送 DISCONNECT 数据包;客户端 发送错误格式的数据包到 Broker,导致关闭和客户端的连接等。
  当客户端通过发布 DISCONNECT 数据包断开连接时,属于正常断开连接,并不会触发 LWT 的机制,与此同时Broker 还会丢弃掉当前客户端在连接时指定的相关 LWT 参数。中间件
  MQTT 是一种协议,支持MQTT协议的消息中间件产品有很多,比如RabbitMQApache ActiveMQHiveMQApache Apolloemqttd Xively应用场景
  MQTT 协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。
  文章来源:一江溪水_https://blog.csdn.net/upstream480/article/details/128270049

平台交易永不落幕,尖兵之翼全新起航第十三届即将开幕尖兵之翼202303200000发表于北京第十三届尖兵之翼中国无人机大会暨展览会将于4月12日至14日在北京四季科创中心盛大举行,安全应急与无人系统展示交易中心也将于同期揭牌。202023年桌面音响选购攻略,一文带你看懂如何选择适合自己的音响!I。引言桌面音响作为日常生活中的重要音频设备,适用于各种场景,如家庭娱乐办公室环境以及个人学习空间。因此,选择一款适合自己需求的桌面音响显得尤为重要。本文将从音响类型音质因素功能与目前值得入手的荣耀手机推荐,不仅颜值高而且性能也不错最近有粉丝私信问我,想买一款荣耀手机但不知道该选哪款?今天就来给大家推荐一下!目前值得入手的荣耀手机推荐以下这三款,不仅颜值高而且性能也不错!第一款荣耀70目前荣耀70的价格在20河南省各市财政收入新乡第4,周口第11,三门峡领先信阳河南省是我国人口大省,在2022年的常住人口为9872万。在这些年的人口红利背景下,河南省实现了经济的高速发展。同时,河南省还重视人才发展,在2022年9月,还出台了河南省人民政府砍头不要紧,访夏明翰故居,探寻先烈坚贞信念的养成一直在路上,发现美,分享快乐!参观了湘西草堂后,发现夏明翰故居就在附近,从小就被那首砍头不要紧,只要主义真的诗所震撼,很想知道这样一位意志坚定的战士,是什么样的环境成就了他。于是,孙中山简介孙中山(1866年11月12日1925年3月12日),字逸仙,号孙思邈,是近代中国的伟大革命家民主主义者和思想家。他被誉为中国民主革命的先驱和缔造者,是中国近代民主革命的先锋,被尊青岛西海岸新区红石崖街道汇聚党建合力,助力乡村振兴结出助农硕果大众网海报新闻记者张佳晖青岛报道视频加载中近日,青岛西海岸新区红石崖街道紧紧围绕乡村振兴战略,结合区域特色,聚焦草莓产业发展,不断夯实红莓先锋党建品牌,以品牌化带动标准化,以规模化太原出实招激发科研创新活力本报讯(记者曹婷婷)50万元(含)以下的科研项目经费原则上一次性拨付到位,开展稳定支持科研经费提取奖励经费试点,加大科技成果转化激励力度太原市近日发布的关于改革完善市级财政科研经费斗鱼2022年第四季度移动端MAU5740万,总营收16。81亿元北京时间3月20日,斗鱼(NASDAQDOYU)发布2022年第四季度及全年未经审计的财务报告。过去一年,在精细化运营策略的推动下,斗鱼深耕精品化游戏内容,优化赛事版权采买策略和内三星GalaxyZFlip5折叠屏手机渲染图曝光IT之家3月20日消息,距离三星下一代GalaxyZ系列设备的正式发布还有不到6个月的时间。预计三星将在今年8月或9月的某个时候发布GalaxyZFlip5和GalaxyZFold8128GB千元机降至819,vivo的性价比如何?在一千元出头的价位上,还充斥着大量6GB运行内存的手机,甚至还有4GB内存的手机。对于安卓手机而言,有时运行内存比处理器性能更加重要,更加能造成手机卡顿。正如标题所言,有一款812
剧版三体最新开分8。0!超十万人点评,满足挑剔的原著粉!近日热播的剧版三体最新豆瓣开分8。0,超过十万人给出评分,交出满意答卷!电视剧三体讲述了地球基础科学研究遭遇异常扰动,引发科学界惶恐动荡,纳米物理学家汪淼与刑警史强联手调查,共同揭心醉又失落!在美国心脏,看到数以千计的中国珍贵文物二里头时期陶鬶商代青铜甲骨西周成王方鼎战国抱璧龙玉璧汉代墓葬陶楼北魏孝子石棺唐代打马球仕女俑北宋磁州窑龙纹大瓶辽金三彩铅釉罗汉元代任仁发九马图明代金丝楠木五爪龙藻井清代康熙年间款彩失去40普通物质,银河系似乎在减肥银河系似乎正在减肥!据英国新科学家网站11日报道,美国科学家对穿过银河系的快速射电暴(FRB)开展的测量表明,与暗物质的数量相比,银河系内部和周围的正常物质(重子物质)少于人们的预大寒是一场压轴戏大寒,二十四节气的最后一个节气。它宛若莲步轻移眼波流转长袖善舞的当家花旦,在万众瞩目中咿咿呀呀地唱着一场压轴戏,将节气的故事情节推向高潮。大寒登台,乱弹便起起落落,弹奏寒冷的咏叹调拓展发展之路越走越宽!看第三届中国绿都乐购三明直播节里的改革创新热气腾腾的扁肉酱香四溢的拌面皮薄汁多的蒸饺凭着一款款接地气的美食,沙县区人走南闯北,叫响了小吃品牌,也做大了强农富民产业。回首2022年,转型升级成了沙县小吃产业发展的关键词。而今如何理解党的二十大把弘扬延安精神推向新高度?党的二十大的最大特点和突出特色,就是守正创新。守正就是继承,创新就是发展。对于党的百年历史中创立和形成的伟大延安时代和延安精神来讲,二十大的守正,守的就是两个确立之正,人民至上之正未央区六村堡小学二年级一班寒假成长记阳光讯(李娜记者张允铎)寒假是一种美妙的无可替代的生活,孩子们可以有充足的时间聆听窗外声音体验生活,培养自己的创新精神和实践能力。下面,请大家来看看西安市未央区六村堡小学二年级一班手机流畅度TOP10,三款售价不超3000元,12GB256GB,卓越性价比许多消费者在购买手机时,都特别在意手机的性能如何,流畅度怎么样?因为他们知道,对于手机来说,性能是至关重要的,性能和流畅度的好坏,直接影响后期的使用感受。比较有趣的是,流畅度和性能KafkaKraft模式教程(一)说明Kafka版本3。3。1Kraft模式!准备三台服务器我是通过vagrant搭配virtualbox创建的虚拟机。vagrant的Vagrantfile文件内容如下Vagran刀具供应商的协同性销售手段在智能制造发展新形势下,刀具生产商应当面向客户为导向,提供个性化定制刀具,满足智能化无人值守和长时间大寿命切削的产线要求刀具供应商应当充分利用海量数据,全面调度,协同销售,迅捷服务没有方向盘油门刹车!无人接驳车在京获准上路北京日报客户端记者曹政1月18日,文远知行对外披露,其无人接驳车正式获得北京市高级别自动驾驶示范区工作办公室颁发的自动驾驶路测牌照。根据许可,文远知行无人接驳车可在示范区60平方公