首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确保始终发送MQTT消息,即使代理故障时也是如此。

确保始终发送MQTT消息,即使代理故障时也是如此。
EN

Stack Overflow用户
提问于 2021-12-14 02:55:45
回答 1查看 278关注 0票数 0

当我向IoT平台发送MQTT消息时,我有一个应用程序,IoT平台有自己的代理。当经纪人下跌2-3天时,问题就出现了,我损失了2-3天的数据。

我想知道是否有办法确保所有数据点都被存储,然后在代理按顺序返回时发送。我一直在用莫斯基托测试这个,但我似乎无法让它起作用。

这是一个使用服务质量(QoS)的问题吗?这是工作的,甚至经纪人是坏了,还是它需要与经纪人沟通?或者我需要使用持久化还是保留?

EN

回答 1

Stack Overflow用户

发布于 2021-12-14 05:01:55

是的,您在正确的轨道上,它需要QoS并且必须与其他设置一起使用,您可以在以下条件下进行测试:

  1. 使用设置为False的干净会话标志和唯一的客户端ID初始化MQTT客户端; 下面是一个使用Paho python库的示例, mqttc = mqtt.Client("specify_a_unique_client_id",clean_session=False)
  2. 订阅QoS >= 1的主题;
  3. 发布到带有QoS >= 1的主题;

注意:您必须指定一个唯一的客户机ID,这样您的代理仍然可以识别前一个客户端会话,以防它重新连接。将客户端ID保留为空将自动生成一个新ID。

,这里是一个很好的文章系列,可以解释MQTT中的所有配置,以防您想要了解细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70343265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档