Client一直断开,重连,和keep alive什么关系

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 便会断开和客户端的连接?那又是怎么自动重新连接的呢?

自己设置了心跳 你要自己发心跳包。emqx 就不会主动发的.他看你没在你规定的90秒(一般是1.5倍心跳)内没有任何mqtt包,就以为你掉线了。 他就会断开

那重连是怎么触发的

你自己写的断线重连啊。得问你自己。
他断开了,就自动重连。全是客户端行为。