我希望在C++中实现MQTT客户端功能(它需要线程安全,并且能够订阅主题并发布,但不需要代理功能)。
我正在考虑Eclipse的泛美卫生组织MQTT。这里是他们的下载页面。
我在那里发现他们没有MQTT5.0支持。
然而,在他们的github上:有C++包装器,在1.1版本中,它声明了MQTTv5.0的支持。
然后我发现了一个问题:摩斯基托vs eclipse paho客户端库,其中的结论是:
使用含利布蚊顶包装的利布蚊
我检查了libzetopp.h:所有的函数都被标记为不推荐的,所以我认为从现在起它不可能是正确的方法。
为什么不推荐利布蚊顶?因为
包装器是由外部请求产生的,在创建包装时,没有针对MQTT的其他C++解决方案。在过去的几年中,这种情况已经发生了变化,这个包装器没有提供真正的C++库或使用纯C libraries的好处。
那么,泛美卫生组织现在是否被认为是在C++中使用MQTT的正确方向?
还是我就用莫斯基托的纯C库?
或者,还有什么(除了从0写出来)?
发布于 2020-04-22 02:52:19
Paho C++库确实支持MQTT v5,并且是线程安全的。您可以使用单个客户端连接从多个线程发布和订阅。
有些Eclipse网页需要用最新的特性进行更新。GitHub的回复往往有最新的信息。
Paho C++库只是封装了Paho C库,但是提供了一个异步的、未来风格的API,并通过共享指针提供内存管理。
发布于 2020-09-28 21:49:47
https://stackoverflow.com/questions/61346851
复制相似问题