MQTT和Coap
什么是MQTT?
MQTT是一个“发布和订阅”协议。用户可以订阅某些主题,或发布某些主题的消息。订阅者将收到订阅的主题消息。用户可以通过保证交付来配置协议更可靠。
什么是CoAP?
CoAP看起来像是兼容HTTP,支持大多数互联网。 CoAP可以利用代理服务器,并将其转换成HTTP,或者根据环境限制直接与设计为使用CoAP的特殊服务器进行通信。
你什么时候使用它们?
由于发布/订阅体系结构与中间商中介,MQTT是广域网(WAN,互联网)上的设备之间的通信的理想选择。它在带宽有限的情况下是最有用的,例如远程现场站点或其他缺乏强大网络的区域。
MQTT是Azure和Amazon服务产品的一部分,因此它具有很多已建立的架构,使其易于适应当前的开发人员。
CoAP的强项是与HTTP的兼容性。如果您有一个基于Web服务的现有系统,那么在CoAP中添加是一个很好的选择。它建立在用户数据报协议(UDP)上,这在一些资源有限的环境中是有用的。由于UDP允许广播和多播,您可以使用较少的带宽潜在地传输到多个主机。这使得它对于设备需要快速交流的本地网络环境很好,这对于一些M2M设置是传统的。
如果物联网开发人员正在使用将利用现有Web服务器架构的设备,开发人员将使用CoAP。但是,如果开发者正在构建一个设备真正“仅报告”的东西 - 也就是说,它被丢弃在网络上,只需要将数据报告回服务器 - CoAP将会更好。其他用途,如云架构,可能最好用MQTT完成。
MQTT和CoAP的未来
随着时间的推移,对于其他协议,使用或行业采用趋向于向更自由和包容的平台迁移,除非非包容性平台更好。 MQTT和CoAP都是开放标准,任何人都可以实现。 CoAP由标准机构启动,而不是由私有公司(包括IBM)设计的MQTT。 CoAP被设计为处理资源有限的环境,可能是它成为赢家,但是目前MQTT似乎处于领先地位。 MQTT背后有显着的动力 - 大云玩家已经选择了这一势头,或者至少选择它。此外,许多商业用例需要MQTT(存储和转发,集中式主机)的功能。然而,一种可能性是,一些围绕HTTP(例如移动应用程序开发)进行标准化的软件开发可以开始利用CoAP来处理外围设备,并与后端通信,以帮助减少不良连接带宽。
最终,这些协议可以通过互联网有效部署在不同的应用程序中。我们知道有特定的使用案例,其中每个都是最好的,但是我们也知道,物联网和物联网设备将会在复杂性和普及性方面继续发展。对于开发人员来说,了解应用程序的关键差异不仅可以实现更好的初始部署,而且可以为今后的开发工作奠定坚实的基础。
最新文章
- php中alert弹出时单双引号问题
- ORACLE Instant Client 配置
- RabbitMQ基础总结
- 启动scala的方法
- Bootstrap_Javascript_固定定位
- wiki oi 1044 拦截导弹
- 实现BUG自动检测 - ASP.NET Core依赖注入
- scala学习
- 在visual studio 2017中配置Qt
- [CVPR2018] Context-aware Deep Feature Compression for High-speed Visual Tracking
- Codeforces Round #438 D. Huge Strings
- Luogu1613 跑路
- 三种方法,刷新 Android 的 MediaStore!让你保存的图片立即出现在相册里!
- 如何在新工程中添加两个不同版本的的echarts库
- 网络爬虫&;起点中文网完本榜500部小说
- 【洛谷P2585】三色二叉树
- Tomcat 服务器安装 SSL证书,实现 HTTP 自动跳转 HTTPS
- android app与服务器交互
- Python-ConfigParser获取配置项名称大小写问题
- Install Java JDK JRE on Ubuntu/Debian with Apt-Get
热门文章
- 彻底搞懂JVM类加载器:基本概念
- 如果再聘请一位会css的美工,那要你还有什么用?
- 【Spring Boot】Spring Boot之使用 Spring Boot Configuration Processor 完成设置自定义项目属性自动补全
- 51nod 1594 Gcd and Phi(莫比乌斯反演)
- NOIP 2008 笨小猴
- svg形状相关的学习(二)
- 【java异常】Unable to install breakpoint in
- ESP8266 LUA脚本语言开发: 测试下诱人的程序
- 洛谷p1747好奇怪的游戏题解
- 原生js给同一对象绑定多个事件