几点分析,不知道对不对:
- 应该不是真正的断开和重新连接。 debug日志中没有看出来。
- 断开和重新连接是通过规则捕获的, 捕获后以消息重发的方式发给了应用打印。 从打印的消息看,是因为 keep-alive timeout。
- 对比锻炼消息和debug日志,和每次心跳的时间吻合。
- 找到之前的一个类似话题,但是没有最终结论 ( 客户端连接broker后频繁离线,客户端数据上报频率5分钟一次,心跳从60s到420s均尝试过,日志显示“socket_force_closed, reason: keepalive_timeout”,“emqx_connection_terminated, reason: {shutdown,keepalive_timeout}” )。可能是MQTTX的心跳问题。可以肯定的一点是网络没有问题。
MQTTX这样设置有问题吗?