MQTT C++ 客户端
MQTT C++ client
我想用 C++ 实现 MQTT 客户端功能(它需要是线程安全的,能够订阅主题和发布,但不需要代理功能)。
我正在考虑 Paho MQTT Eclipse。
Here 是他们的下载页面。
我发现他们没有 MQTT5.0 支持。
然而,在他们的 github 上:有 C++ 包装器,在 1.1 版中声明支持 MQTTv5.0。
然后我发现了这个问题:,结论是:
to use libmosquitto with libmosquittopp wrapper
我检查了 libmosquittopp.h:所有函数都被标记为已弃用,所以我认为目前这不是正确的方法。
为什么不推荐使用 libmosquittopp?因为
The wrapper came about by an external request and at the time it was
created there were no other C++ solutions for MQTT. This has changed
in the past years and this wrapper provides no benefit over true C++
libraries or using the pure C libmosquitto.
那么,Paho 现在是否被认为是在 C++ 中使用 MQTT 的正确方向?
或者我应该只使用 Mosquitto 的纯 C 库?
或者,其他任何东西(除了从 0 开始写)?
Paho C++ 库支持 MQTT v5,并且是线程安全的。您可以使用单个客户端连接从多个线程发布和订阅。
一些 Eclipse 网页需要更新为最新功能。 GitHub 存储库往往包含最新信息。
Paho C++ 库只是包装了 Paho C 库,但提供了异步的、futures 风格的 API,并通过共享指针提供了内存管理。
如果您使用Boost.asio,那么这个项目就是正确的选择。
https://github.com/redboltz/mqtt_cpp
它是原生 C++,没有 wrapper-around-C,同时支持 v3.1.1 和 v5。
我想用 C++ 实现 MQTT 客户端功能(它需要是线程安全的,能够订阅主题和发布,但不需要代理功能)。
我正在考虑 Paho MQTT Eclipse。 Here 是他们的下载页面。
我发现他们没有 MQTT5.0 支持。
然而,在他们的 github 上:有 C++ 包装器,在 1.1 版中声明支持 MQTTv5.0。
然后我发现了这个问题:
to use libmosquitto with libmosquittopp wrapper
我检查了 libmosquittopp.h:所有函数都被标记为已弃用,所以我认为目前这不是正确的方法。
为什么不推荐使用 libmosquittopp?因为
The wrapper came about by an external request and at the time it was created there were no other C++ solutions for MQTT. This has changed in the past years and this wrapper provides no benefit over true C++ libraries or using the pure C libmosquitto.
那么,Paho 现在是否被认为是在 C++ 中使用 MQTT 的正确方向?
或者我应该只使用 Mosquitto 的纯 C 库?
或者,其他任何东西(除了从 0 开始写)?
Paho C++ 库支持 MQTT v5,并且是线程安全的。您可以使用单个客户端连接从多个线程发布和订阅。
一些 Eclipse 网页需要更新为最新功能。 GitHub 存储库往往包含最新信息。
Paho C++ 库只是包装了 Paho C 库,但提供了异步的、futures 风格的 API,并通过共享指针提供了内存管理。
如果您使用Boost.asio,那么这个项目就是正确的选择。
https://github.com/redboltz/mqtt_cpp
它是原生 C++,没有 wrapper-around-C,同时支持 v3.1.1 和 v5。