当前位置: 首页 > news >正文

电脑网站生成手机网站外贸圈海关数据

电脑网站生成手机网站,外贸圈海关数据,dnf怎么做提卡网站,网站商城支付接口1、QoS介绍 1.1、QoS简介 使用MQTT协议的设备大部分都是运行在网络受限的环境下#xff0c;而只依靠底层的TCP传输协议#xff0c;并不 能完全保证消息的可靠到达。 MQTT提供了QoS机制#xff0c;其核心是设计了多种消息交互机制来提供不同的服务质量#xff0c;来满足…1、QoS介绍 1.1、QoS简介 使用MQTT协议的设备大部分都是运行在网络受限的环境下而只依靠底层的TCP传输协议并不 能完全保证消息的可靠到达。 MQTT提供了QoS机制其核心是设计了多种消息交互机制来提供不同的服务质量来满足用 户在各种场景下对消息可靠性的要求。 MQTT 定义了三个 QoS 等级分别为 1、QoS 0最多交付一次 ----- 可能丢失消息 2、QoS 1至少交付一次 ----- 可以保证收到消息但消息可能重复 3、QoS 2只交付一次 ----- 可以保证消息既不丢失也不重复 QoS等级是由发布者在PUBLISH报文中指定的大部分情况下Broker向订阅者转发消息时都会维 持原始的 QoS 不变。不过也有一些例外的情况根据订阅者的订阅要求 消息的 QoS 等级可能会在转发的时候发生降级。 例如订阅者在订阅时要求Broker可以向其转发的消息的最大QoS等级为QoS 1那么后续所有 QoS 2消息都会降级至QoS 1转发给此订阅者而所有QoS 0和QoS 1消息 则会保持原始的QoS等级转发。 1.2、QoS 0原理介绍 1.2.1、通讯原理说明 QoS 0 是最低的 QoS 等级。QoS 0 消息即发即弃不需要等待确认不需要存储和重传因此对 于接收方来说永远都不需要担心收到重复的消息。 涉及到的相关报文 1.2.2、Qos 0消息丢失原因 当我们使用 QoS 0 传递消息时消息的可靠性完全依赖于底层的 TCP 协议。而 TCP 只能保证在 连接稳定不关闭的情况下消息的可靠到达一旦出现连接关闭、重置 仍有可能丢失当前处于网络链路或操作系统底层缓冲区中的消息。这也是 QoS 0 消息最主要的丢 失场景。 1.3、Qos 1原理介绍 1.3.1、通讯原理说明 为了保证消息到达QoS 1 加入了应答与重传机制发送方只有在收到接收方的 PUBACK 报文以 后才能认为消息投递成功在此之前发送方需要存储该 PUBLISH 报文以便下次重传。 QoS 1需要在 PUBLISH 报文中设置 Packet ID而作为响应的 PUBACK 报文则会使用与 PUBLISH 报文相同的 Packet ID以便发送方收到后删除正确PUBLISH报文缓存。 涉及到的相关报文 1.3.2、Qos 1消息会重复原因 对于发送方来说没收到 PUBACK 报文分为以下两种情况 1、PUBLISH 未到达接收方 2、PUBLISH 已经到达接收方接收方的 PUBACK 报文还未到达发送方 在第一种情况下发送方虽然重传了 PUBLISH 报文但是对于接收方来说实际上仍然仅收到了 一次消息。 在第二种情况下在发送方重传时接收方已经收到过了这个 PUBLISH 报文这就导致接收方将 收到重复的消息。 重传 PUBLISH 报文的时候PUBLISH 中的 DUP 标志会被设置为 1用以表示这是一个重传的报 文。 1.4、Qos 2原理介绍 1.4.1、通讯原理说明 QoS 2 解决了 QoS 0、1 消息可能丢失或者重复的问题但相应地它也带来了最复杂的交互流程 和最高的开销。每一次的 QoS 2 消息投递都要求发送方与接收方进行至少两次请求/响应流 程。 流程说明 1、首先发送方存储并发送 QoS 为 2 的 PUBLISH 报文以启动一次 QoS 2 消息的传输然后等 待接收方回复 PUBREC 报文。这一部分与 QoS 1 基本一致只是响应报文从 PUBACK 变成了 PUBREC。 2、当发送方收到 PUBREC 报文即可确认对端已经收到了 PUBLISH 报文发送方将不再需要重 传这个报文并且也不能再重传这个报文。所以此时发送方可以删除本地1存储的 PUBLISH 报 文然后发送一个 PUBREL 报文通知对端自己准备将本次使用的 Packet ID 标记为可用了。与 PUBLISH 报文一样我们需要确保 PUBREL报文到达对端所以也需要一个响应报文并且这个 PUBREL 报文需要被存储下来以便后续重传。 3、当接收方收到 PUBREL 报文也可以确认在这一次的传输流程中不会再有重传的 PUBLISH 报 文到达因此回复 PUBCOMP 报文表示自己也准备好将当前的 PacketID 用于新的消息了。 4、当发送方收到 PUBCOMP 报文这一次的 QoS 2 消息传输就算正式完成了。在这之后发送 方可以再次使用当前的 Packet ID 发送新的消息而接收方再次收到使用这个 Packet ID 的 PUBLISH 报文时也会将它视为一个全新的消息。 涉及到的报文 1.4.2、Qos 2消息不会重复原因 消息不丢失原因与 QoS 1 相同 消息不会重复原因 快速回顾一下 QoS 1 消息无法避免重复的原因 当我们使用 QoS 1 消息时对接收方来说回复完 PUBACK 这个响应报文以后 Packet ID 就重新 可用了也不管响应是否确实已经到达了发送方。所以就无法得知之后到达的携带了相同 Packet ID 的 PUBLISH 报文到底是发送方因为没有收到响应而重传的还是发送方因为收到了 响应所以重新使用了这个 Packet ID 发送了一个全新的消息。 所以消息去重的关键就在于通信双方如何正确地同步释放 Packet ID换句话说不管发送方 是重传消息还是发布新消息一定是和对端达成共识了的。而 QoS 2中增加的 PUBREL 流程正 是提供了帮助通信双方协商 Packet ID 何时可以重用的能力。 QoS 2 规定发送方只有在收到 PUBREC 报文之前可以重传 PUBLISH 报文。一旦收到 PUBREC 报 文并发出 PUBREL 报文发送方就进入了 Packet ID 释放流程不可以再使用当前 Packet ID 重 传 PUBLISH 报文。同时在收到对端回复的 PUBCOMP 报文确认双方都完成 Packet ID 释放之 前也不可以使用当前Packet ID 发送新的消息。 因此对于接收方来说能够以 PUBREL 报文为界限凡是在 PUBREL 报文之前到达的 PUBLISH 报文都必然是重复的消息而凡是在 PUBREL 报文之后到达的 PUBLISH 报文都必然是全新的消息。一旦有了这个前提我们就能够在协议层面完成 QoS 2 消 息的去重。
http://www.ho-use.cn/article/10820805.html

相关文章:

  • wordpress零基础建站wordpress如何制作单页订单
  • 长春网站建设培训班网站开发流程分析
  • 网站授权管理系统怎么做深圳国税局网站怎么做票种核定
  • 网站开发技术概况网络建站 响应式网站
  • 品牌网站建设預定大蝌蚪同一个服务器可以做多个网站
  • wordpress建站图片效果建设新网站
  • 网站开发众筹网站开发的形式
  • 静态网站如何建设做介绍翻译英文网站
  • 网站页头页尾怎么做浏览器缓冲设置ps如何做网页
  • 临潼区建设局网站工程建设信息网站
  • 新乡市做网站免费精准客源
  • 网站正在建设中 英语翻译婚纱网站开发背景
  • 高手优化网站网站中备案与不备案的区别
  • 湖北营销型网站建设价格暴雪代理最新消息
  • 国家外管局网站怎么做收汇电脑设计培训学校推荐
  • 河南商务学校网站建设外贸企业网站源码下载
  • 网站建设明细报价vs2013网站开发教程
  • 手机网站根目录河南建筑网站
  • 上海网站优化上网站建设规划书3000字
  • 做爰 网站贵阳城乡和住房建设厅网站
  • 菏泽网站建设服务wordpress调用媒体图片不同尺寸
  • 男做女爱网站做网站和自媒体哪个好
  • 用vs2010做免费网站模板下载地址网站移动端是什么问题吗
  • 金麦建站官网wordpress seo模板
  • 广西网站建设策划昭阳区住房和城乡建设管理局网站
  • 网站开发文档范例微网站建设包含哪些内容
  • 广元市建设银行网站c2c代表网站
  • 广州机械网站建设外包北京定制网站价格
  • 网站广告怎么放如何优化关键词排名到首页
  • 如何创建博客网站莱芜一中贴吧