vue连接emqx经常出现自动断开重连咋回事呢

641 阅读1分钟

问题描述

emq平常能正常运行,发送和接收数据都没有问题,在与设备调试过程中突然出现掉线重连,重启程序服务也无法解决,需要重启emq服务才行。

 

问题分析:可能原因

1、重复clientId        排除,确定没有重复clientId

2、网络问题导致没有收到心跳       排除,因为程序和emq服务器在同一台电脑上不存在网络问题,而且重连的请求emq也能收到。

3、代码报错,导致emq服务连不上        极大可能

       因为之前是可以的,后面才出现问题,经和设备开发人员沟通,发现是设备回复了错误的保留信息,程序解析出错,而且没有捕捉该错误,至此问题定位成功。这也能解释为什么重启emq服务器后就暂时不会出现该问题,因为emq不提供持久化功能,数据都存在内存里,重启emq服务后,保存内存的数据也被清空。

 

保留消息定义

    如果PUBLISH消息的RETAIN标记位被设置为1,则称该消息为“保留消息”;

BROKER对保留消息的处理

  Broker会存储每个Topic的最后一条保留消息及其Qos,当订阅该Topic的客户端上线后,Broker需要将该消息投递给它。