【2017-11-02】MQTT与CoAP比较

【2017-11-02】MQTT与CoAP比较

[历史归档]本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。
发布时间:2017-11-02| 标题:MQTT与CoAP比较分类:编程 |标签:mqtt·coap


MQTT与CoAP比较

    • 参考网址

参考网址

【 MQTT和CoAP哪个最可能成为未来物联网通信标准协议? 】
【 MQTT and CoAP, IoT Protocols 】
【 XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较 】

以下内容转自【 http://blog.csdn.net/u013327478/article/details/41841827 】

MQTT和CoAP都是非常有用的物联网协议,但两者有根本区别,两个协议各有特点,选择哪个才是正确的取决于你的应用程序。

  1. MQTT是多个客户端通过一个中央代理传递消息的多对多协议。它通过让客户端发布消息、代理决定消息路由和复制来解耦生产者和消费者。虽然MQTT持久性有一些支持,但它是最好的实时通讯总线。
  2. CoAP基本上是一个在Client和Server之间传递状态信息的单对单协议。虽然它支持观察资源,但是CoAP最适合状态转移模型,而不是单纯的基于事件。
  3. MQTT Clients与Broker之间保持TCP长连接,这个在NAT环境中也不会有问题。CoAP Clients与Server都要接收和发送UDP包。在NAT环境下使用CoAP,需要使用“隧道掘进”或者端口转发(内网穿透),否则像LWM2M(轻量级M2M)一样,首先初始化设备到‘头端’( head-end )的连接.
  4. MQTT不支持带有类型或者其它帮助Clients理解的标签消息。MQTT消息可用于任意目的,但前提是所有的Clients必须知道消息格式。而CoAP则相反,它内置内容协商和发现支持,这样允许设备彼此窥测以找到交换数据的方式。