什么是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来处理外围设备,并与后端通信,以帮助减少不良连接带宽。

最终,这些协议可以通过互联网有效部署在不同的应用程序中。我们知道有特定的使用案例,其中每个都是最好的,但是我们也知道,物联网和物联网设备将会在复杂性和普及性方面继续发展。对于开发人员来说,了解应用程序的关键差异不仅可以实现更好的初始部署,而且可以为今后的开发工作奠定坚实的基础。

最新文章

  1. php中alert弹出时单双引号问题
  2. ORACLE Instant Client 配置
  3. RabbitMQ基础总结
  4. 启动scala的方法
  5. Bootstrap_Javascript_固定定位
  6. wiki oi 1044 拦截导弹
  7. 实现BUG自动检测 - ASP.NET Core依赖注入
  8. scala学习
  9. 在visual studio 2017中配置Qt
  10. [CVPR2018] Context-aware Deep Feature Compression for High-speed Visual Tracking
  11. Codeforces Round #438 D. Huge Strings
  12. Luogu1613 跑路
  13. 三种方法,刷新 Android 的 MediaStore!让你保存的图片立即出现在相册里!
  14. 如何在新工程中添加两个不同版本的的echarts库
  15. 网络爬虫&起点中文网完本榜500部小说
  16. 【洛谷P2585】三色二叉树
  17. Tomcat 服务器安装 SSL证书,实现 HTTP 自动跳转 HTTPS
  18. android app与服务器交互
  19. Python-ConfigParser获取配置项名称大小写问题
  20. Install Java JDK JRE on Ubuntu/Debian with Apt-Get

热门文章

  1. 彻底搞懂JVM类加载器:基本概念
  2. 如果再聘请一位会css的美工,那要你还有什么用?
  3. 【Spring Boot】Spring Boot之使用 Spring Boot Configuration Processor 完成设置自定义项目属性自动补全
  4. 51nod 1594 Gcd and Phi(莫比乌斯反演)
  5. NOIP 2008 笨小猴
  6. svg形状相关的学习(二)
  7. 【java异常】Unable to install breakpoint in
  8. ESP8266 LUA脚本语言开发: 测试下诱人的程序
  9. 洛谷p1747好奇怪的游戏题解
  10. 原生js给同一对象绑定多个事件