MQTT协议C++调研

MQTT协议文档

runoob.com/manual/mqtt/protocol/MQTT-3.1.1-CN.html

介绍

MQTT协议详解(完整版)-CSDN博客

C++ 构建通用的MQTT接口:从理论到实践_c++ mqtt-CSDN博客

demo

【C++】开源:MQTT安装与配置使用(mosquitto)-腾讯云开发者社区-腾讯云

【C++】开源:paho-mqtt-cpp库配置与使用-腾讯云开发者社区-腾讯云

MQTT C++库选择

Eclipse Paho C++ 功能全面,支持广泛,社区活跃 (✔)

Mosquitto C++ Client: 轻量级,易于使用

特性 / 库Eclipse Paho MQTT C++Mosquittomqtt_cppcppMQTTqmqtt
协议支持MQTT 3.1, 3.1.1MQTT 3.1, 3.1.1MQTT 5.0, 3.1.1基本支持基本支持
消息质量等级0, 1, 20, 1, 20, 1, 2基本支持基本支持
安全性特性SSL/TLSSSL/TLSSSL/TLS, MQTT 5.0安全特性基本支持基本支持
客户端稳定性与性能良好一般一般
异常处理与重连机制强大良好高级基本基本

paho最新代码版本v1.4.0 README中提及已支持MQTT 5.0特性

  • Support for MQTT v3.1, v3.1.1, and v5.
库名称社区活跃度
Eclipse Paho
Mosquitto
mqtt_cpp
cppMQTT
qmqtt
库名称定期更新
Eclipse Paho
Mosquitto
mqtt_cpp
cppMQTT
qmqtt
MQTT协议是一种轻量级的、基于发布-订阅模式的通信协议。它适用于物联网应用中对网络带宽和设备资源有限制的场景。MQTT协议被设计为简单、开放、易于实现和运行在各种硬件平台上的协议MQTT协议的核心思想是发布-订阅模式。在MQTT中,设备可以作为发布者,将消息发布到主题上;同时,也可以作为订阅者,订阅感兴趣的主题,以接收与该主题相关的消息。这种方式可以实现设备之间的异步通信,并且不需要设备之间直接建立连接。 MQTT协议具有以下特点: 1. 轻量级:MQTT协议的消息头部分非常精简,只占用非常小的网络带宽和设备资源。因此,它适用于移动设备和传感器等资源有限的设备。 2. 支持QoS等级:MQTT协议支持三种不同的服务质量等级(QoS),包括至多一次、至少一次和仅一次。可以根据实际需求选择适当的等级。 3. 支持保留消息:MQTT协议支持发布者发布一个保留消息,该消息将一直保存在服务端,直到另一个客户端订阅该主题为止。这使得新连接的订阅者可以获取到最新的消息。 4. 跨平台:MQTT协议支持各种不同的操作系统和开发语言,可以实现跨平台的通信。 5. 支持认证和安全性:MQTT协议支持认证和加密,能够确保通信的安全性。 总之,MQTT协议是一种适用于物联网应用的轻量级通信协议,具有简洁、灵活、跨平台和支持安全性的特点。它在物联网领域具有广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值