客户端连接每30秒断开,3秒后重新连接

几点分析,不知道对不对:

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