0
点赞
收藏
分享

微信扫一扫

SpringBoot连接MQTT服务器时因ClintID重复导致频繁掉线重连


场景


在上面使用SpringBoot进行连接MQTT服务器进行消息的发送与订阅的基础上。

在将SpringBoot项目打包成jar包并部署在服务器上后,本地再启动SpringBoot项目时后台

一直输出掉线重连。

注:

实现

经过思考,考虑到每个客户端连接时会设置一个ClientID,而这个客户端id是唯一的。

clientID全球唯一,两个相同的clientID同时连接IoT套件的话,先连接的那个会被强制断开。

所以本地的代码和服务器上的代码是使用的相同的ClientID,并且是连接的同一个MQTT服务器。

这就导致了频繁重连。

之前的clientID的设置在配置文件application.yml中

 

SpringBoot连接MQTT服务器时因ClintID重复导致频繁掉线重连_mqtt

然后在代码中读取配置文件的clientID,将设置clientID的地方改为每次生成随机的字符串,但是记住长度不能太长,不能超过23位。

举报

相关推荐

0 条评论