-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
emqx 设备断网未触发下线事件 #546
Comments
如果是 tcp 连接断了马上就感知到了,没断的话会等心跳周期。 |
断网的情况下,我没有收到任何通知,你说的心跳周期是在服务端做什么编码逻辑嘛? |
断网的情况下,我没有收到任何通知,你说的心跳周期是在服务端做什么编码逻辑嘛? |
keepalive 是约定的连接保活时间,emqx 要是在 1.5 * keepalive 时间(单位是秒)内没收到来自客户端的包,那么 emqx 就会断开连接。例如您的客户端 Keepalive 为 60 s,emqx 在 90 秒内没收到心跳,就会认为是异常的。可参阅:https://www.emqx.com/zh/blog/mqtt-keep-alive |
好的,感谢答疑! |
还想请教个问题,我通过MQTTX模拟设备连接上来,如果一直不主动上报数据,EMQX会有什么机制将设备剔除下线嘛? |
一般来说如果在 keepalive * 1.5 保活期间如果没发任何包,EMQX 会主动断连的。另外您也可以根据实际业务调用 api 强行踢下线https://docs.emqx.com/zh/cloud/v4/api/clients.html#%E8%B8%A2%E9%99%A4%E5%AE%A2%E6%88%B7%E7%AB%AF 另外如果是 EMQX Cloud 问题,建议您可以提工单哈,能保证时效性。 |
使用EMQX作为MQTT服务器
设备断网的情况会有很多,如果能满足这些就太好了!
The text was updated successfully, but these errors were encountered: