环境信息
- EMQX 版本:4.3.5
- 操作系统及版本:
- 其他
问题描述
设备连接到emqx后,然后关闭设备,此时要几分钟后设备才断开与emqx服务器的连接(从emqx的管理后台能看到),但是在这几分钟内给设备发送消息,设备也接收不到,问下这是什么原因呢?有什么方式能过立即断开连接呢?cleanSession设置为true吗?还是其他方式的?
设备连接到emqx后,然后关闭设备,此时要几分钟后设备才断开与emqx服务器的连接(从emqx的管理后台能看到),但是在这几分钟内给设备发送消息,设备也接收不到,问下这是什么原因呢?有什么方式能过立即断开连接呢?cleanSession设置为true吗?还是其他方式的?
cleanSession = false的情况下,设备断开消息仍然会被发送到设备的session中,此时设备侧已经断开,但是对于broker来说设备的会话还在,所以设备的状态看起来是正常的。可以通过cleanSession = true来确定设备断开之后立即清除回话
cleanSession 是为了保证设备在网络波动的情况下,不丢消息,消息仍然存在会话中等待设备下一次上线
好的,谢谢