连接mqtt的设备,重启后,会给服务器发送大量消息,是之前处理了的,这种是sdk问题还是什么问题?

连接mqtt的设备,重启后,会给服务器发送大量消息,是之前处理了的,这种是sdk问题还是什么问题?对 设备重启之后 会收到大量消息,都是很久之前的 ,这个是老程序,没有用云端sdk 是用一个设备连接上去接收其他设备发布的消息的 ,我查了下 ,我新写的用云端sdk也收到的这个消息 ,而且消息id 变了 消息内容没有变 这是什么问题 ?

展开
收起
真的很搞笑 2023-05-23 19:58:16 231 分享 版权
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    这可能是由于设备重启时未正确清除之前未处理的消息所致,可以尝试以下解决方案:

    1. 在设备端尝试手动清除重启前未处理的消息缓存,可以参考MQTT客户端相关的API文档或者示例代码。

    2. 检查设备连接MQTT服务器的代码,确保断开连接前已经完成了消息处理(例如确认收到消息并进行相应的处理)。

    3. 考虑在设备端添加自动重连机制,并在重连后重新订阅消息,以确保不会遗漏消息。

    另外,由于使用了老程序,可能存在一些程序逻辑或者接口与新的云端SDK不兼容的情况,建议尝试升级到最新的云端SDK,或者联系SDK厂商或开发者进行进一步的排查和调试。

    2023-05-23 23:07:38
    赞同 展开评论
  • 你指的是发送了的消息重启后重复发送?云端sdk还是mqtt设备端?,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

    2023-05-23 20:05:05
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理