我想在C++中实现MQTT客户端功能 (需要具备线程安全性,并能订阅主题以及发布消息,但不需要代理功能)。
我考虑使用Eclipse的Paho MQTT。他们的下载页面可以找到相关信息。
然而,我发现他们没有MQTT5.0的支持。但是,在他们的GitHub上有一个C++包装器版本1.1提供了MQTTv5.0的支持。
然后,我发现了这个问题:Mosquitto vs eclipse paho client library,结论是:
使用带libmosquittopp包装器的libmosquitto
我检查了libmosquittopp.h:所有函数都标记为已弃用,因此我认为目前不应该使用它。
为什么libmosquittopp被弃用?因为:
这个包装器是在外部请求下创建的,当时还没有其他MQTT的C++解决方案。这在过去几年中已经改变了,使用纯C的libmosquitto或真正的C++库比使用这个包装器更有优势。
那么,现在使用Paho在C++中使用MQTT被认为是正确的方向吗?
还是我应该只使用Mosquitto的纯C库?
或者,除了从头开始编写之外,还有其他选择吗?