[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2017-11-02 标题MQTT与CoAP比较分类编程 标签mqtt·coapMQTT与CoAP比较参考网址参考网址【 MQTT和CoAP哪个最可能成为未来物联网通信标准协议 】【 MQTT and CoAP, IoT Protocols 】【 XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较 】以下内容转自【 http://blog.csdn.net/u013327478/article/details/41841827 】MQTT和CoAP都是非常有用的物联网协议但两者有根本区别两个协议各有特点选择哪个才是正确的取决于你的应用程序。MQTT是多个客户端通过一个中央代理传递消息的多对多协议。它通过让客户端发布消息、代理决定消息路由和复制来解耦生产者和消费者。虽然MQTT持久性有一些支持但它是最好的实时通讯总线。CoAP基本上是一个在Client和Server之间传递状态信息的单对单协议。虽然它支持观察资源但是CoAP最适合状态转移模型而不是单纯的基于事件。MQTT Clients与Broker之间保持TCP长连接这个在NAT环境中也不会有问题。CoAP Clients与Server都要接收和发送UDP包。在NAT环境下使用CoAP需要使用“隧道掘进”或者端口转发(内网穿透)否则像LWM2M轻量级M2M一样首先初始化设备到‘头端’( head-end )的连接.MQTT不支持带有类型或者其它帮助Clients理解的标签消息。MQTT消息可用于任意目的但前提是所有的Clients必须知道消息格式。而CoAP则相反它内置内容协商和发现支持这样允许设备彼此窥测以找到交换数据的方式。