EMQX客户端连接和离线通知

EMQX5.7.2 开源版本,单节点,4核16G,LINUX centos7.9。

使用系统主题监听客户端上下线时间,同时收到客户端上线和下线通知,有时候上线通知在前,下线通知在后。现实是设备连接上服务器的。

为什么会出现这种情况?监听设备连接和离线状态,最好的方式是什么?

建议你直接在 dashboard trace 一下这个客户端,就会发现它应该是断开后,马上又连上来了。如果不是,绝对不会同时发上下线通知的。不然就是重大 bug。

目前就是监听上线主题。


等凌晨的时候我trace一下,但是昨天看到的,就是同时收到了上线和离线通知。

建议把日志时间精度调高一点。
如果是稳定时间段出来的,直接用 tcpdump 也一样能看到的。

遇到过这种情况,跟clean session配置有关,mqtt v3下clean session=false且会话过期时间大于0,那在过期时间内进行重连会出现这种现象,两条通知的差值会在毫秒级。不知道有没有帮到你,可以测试下。

谢谢你,我的问题解决了。