EMQX的log里,有好几个client一直2分钟定时断开又重连,比如下面这个client:
2025-04-24T01:27:44.937482+00:00 [debug] tag: SOCKET, clientid: CCFuelAndroidClient1745204640915, msg: socket_force_closed, peername: 192.168.1.211:51266, reason: keepalive_timeout
2025-04-24T01:27:46.304504+00:00 [debug] tag: MQTT, clientid: CCFuelAndroidClient1745204640915, msg: mqtt_packet_received, peername: 192.168.1.211:51272, packet: CONNECT(Q0, R0, D0, ClientId=CCFuelAndroidClient1745204640915, ProtoName=MQTT, ProtoVsn=4, CleanStart=false, KeepAlive=60, Username=undefined, Password=)
2025-04-24T01:28:30.806350+00:00 [debug] tag: MQTT, clientid: CCFuelAndroidClient1745204640915, msg: mqtt_packet_sent, peername: 192.168.1.211:51272, packet: PUBLISH(Q0, R0, D0, Topic=station/upper/RR01
…
2025-04-24T01:29:46.310523+00:00 [debug] tag: SOCKET, clientid: CCFuelAndroidClient1745204640915, msg: socket_force_closed, peername: 192.168.1.211:51272, reason: keepalive_timeout
2025-04-24T01:29:47.742104+00:00 [debug] tag: MQTT, clientid: CCFuelAndroidClient1745204640915, msg: mqtt_packet_received, peername: 192.168.1.211:51280, packet: CONNECT(Q0, R0, D0, ClientId=CCFuelAndroidClient1745204640915, ProtoName=MQTT, ProtoVsn=4, CleanStart=false, KeepAlive=60, Username=undefined, Password=)
2025-04-24T01:29:47.742387+00:00 [debug] tag: SUBSCRIBE, clientid: CCFuelAndroidClient1745204640915, msg: subscribe, peername: 192.168.1.211:51280, topic: fuel/dri/dock01, sub_id: <<“CCFuelAndroidClient1745204640915”>>, sub_opts: 2025-04-24T01:29:47.744407+00:00 [debug] clientid: CCFuelAndroidClient1745204640915, msg: emqx_channel_takeover_end, peername: 192.168.1.211:51272
2025-04-24T01:29:47.744473+00:00 [debug] tag: SOCKET, clientid: CCFuelAndroidClient1745204640915, msg: emqx_connection_terminated, peername: 192.168.1.211:51272, reason: {shutdown,takenover}
2025-04-24T01:29:47.744543+00:00 [info] clientid: CCFuelAndroidClient1745204640915, msg: terminate, peername: 192.168.1.211:51272, reason: {shutdown,takenover}
我的client是一个android设备,连接的时候设置的KeepAlive=60,不主动发消息,只是接收机器人的信息,网络应该没有问题,为啥会一直断开,又重连。是Broker 没有收到来自客户端的任何包,则会认为和客户端之间的连接出现了问题,此时 Broker 便会断开和客户端的连接?那又是怎么自动重新连接的呢?