MQTT C++ client



我想在C++中实现MQTT客户端功能(它需要是线程安全的,并且能够订阅主题和发布,但不需要代理功能(。

我在考虑Eclipse的Paho MQTT。这是他们的下载页面。

我发现他们没有MQTT5.0支持。

然而,在他们的github上:有一个C++包装器,它在1.1版本中声明支持MQTTv5.0。

然后我发现了这个问题:Mosquito vs eclipse paho客户端库,其中的结论是:

使用libmosquitto和libmosquitopp包装

我检查了libmosquitopp.h:所有函数都被标记为不推荐使用,所以我认为到目前为止这可能不是正确的方法。

为什么libmosquitopp被弃用?因为

包装器是由一个外部请求产生的,当时创建的MQTT没有其他C++解决方案。这已经改变了在过去的几年里,这个包装器没有比真正的C提供任何好处++库或使用纯C libmosquito。

那么,Paho现在被认为是在C++中使用MQTT的正确方向吗?

或者我只使用Mosquito的纯C库?

或者,还有其他内容(除了从0写入(吗?

Paho C++库确实支持MQTT v5,并且是线程安全的。您可以使用单个客户端连接从多个线程发布和订阅。

一些Eclipse网页需要使用最新的功能进行更新。GitHub的转发往往有最新的信息。

Paho C++库只是包装了Paho C库,但提供了一个异步的、未来风格的API,并通过共享指针提供内存管理。

如果您使用Boost.asio,那么这个项目是正确的选择。

https://github.com/redboltz/mqtt_cpp

它是原生C++,没有全面的C,同时支持v3.1.1和v5。

最新更新