emqx v4.3.8 MQTT客户端手动断电后,服务端收不到连接断开系统消息

环境信息

  • EMQ X 版本:v4.3.8
  • 操作系统及版本:Linux
  • 其他

问题描述

MQTT客户端手动断电,收不到连接断开系统消息,有没有哪个配置项可以进行相关配置?

配置文件及日志

这是正常情况,可以设置心跳,在一定时间内没有收到心跳,服务端将主动踢掉这些已断开的客户端。

EMQX Broker上面有没有这样的设置项?

连接的时候设置keepalive即可

你的意思是在设备端连接MQTT的时候设置,问题我们现在不便修改设备端的这个连接参数,想通过MQTT broker来进行控制

试试配置文件里的keepalive参数

zone.external.server_keepalive这个参数只是对于MQTT v5.0 版本协议

你从dashboard看,那些连接的设备的心跳参数是多少

同问,我也想知道。 因为是低功耗设备,心跳周期比较长,靠心跳发现离线,可能要等很久。 异常断电后,服务器可以主动探测到设备离线吗?