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

上海做网站的公司多少钱优化网站费用

上海做网站的公司多少钱,优化网站费用,我想做直播网站该怎么做,河南省建筑工程信息网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.hkea.cn/news/14329412/

相关文章:

  • 网站备案域名怎么买微网站做的比较好的
  • 建设文库网站温州网站优化页面
  • 绵阳网站建设开发专业团队高端网站制作
  • 二级域名网站价格中国最大网站建设商
  • 创建网站要多长时间个人网站建设维护
  • 最火爆的国际贸易网站高大上企业网站
  • 做神马网站快速排html5公司网站欣赏
  • 如何管理wordpress网站模板下载管理咨询师
  • 在网上做黑彩网站会怎样甘肃省建设厅招标办网站
  • 高端网站设计 新鸿儒varnish wordpress
  • 长沙竞价网站建设价格打赏网站开发
  • 郑州东站附近网站建设公司文创产品设计公司
  • 最有效的网站推广公司电子商务平台网站推广
  • 网站域名后缀cc十三五关于网站建设
  • 网站开发环境及工具购物网站前台功能模块
  • 网站建好了seo怎么做网站建设与维护模板
  • 深圳做网站的大公司贵州省城乡建设部官方网站
  • 图书网站策划书网站开发工程师获奖
  • 关于1-6月网站建设工作通报网站建设分为多少模块
  • 投资公司网站建设需求公众号上传wordpress
  • 帝国cms响应式网站模板呼和浩特城乡建设网站
  • 做当地门户网站多少钱企业网站优化报价
  • 计算机应用技术 网站开发怎么进入自己网站主机地址
  • wordpress详细指南衡阳网站优化方案
  • 手机做网站多少钱企业网站管理系统(多语言)
  • 什么是部署php网站湖南网站建设价格
  • 中国外贸出口网站免费的郑州网络推广服务
  • 高中网站建设计划表手机优化助手怎么样
  • 网站建设中的思想和算法个人主页页面
  • 网站建设的合同模板开发工具在哪里 word