mqtt的心跳包时间问题

emq 版本 emqx-4.4.18
mqttx 版本5
目前发现在使用mqttx连接emq4版本时候,客户端存活时间会根据心跳包时间而决定就是比如我
mqttx -k设置为30,那么大概90s左右客户端就会重连
mqttx -k设置为250,那么大概750s左右客户端就会重连

但是我使用mqttx 版本5 连接 emq5版本就没有重连这个问题
所以为什么连接4版本 大概3倍的keepalive时间就会重连呢 这个跟内核有关系吗

与内核没有关系,应该都是一样的。

你遇到的应该是类似于这样的问题,如果需要更精确的掉线,就得用 v5.7.2 以上的版本。

不然只能要接受 3 倍 keepalive 的时间才断开。
**调小 keepalive_backoff ** 在 4 里面应该叫keepalive_multiplier,默认是 0.75,调到 0.5