客户端设置KeepAlive,还要发送ping包么
时间: 2023-08-18 14:07:17 浏览: 89
Delphi之TClientSocket和TServerSocket进行TCP长连接通讯使用KeepAlive自动发送心跳包检测断网
4星 · 用户满意度95%
是的,即使在客户端设置了KeepAlive参数,客户端也需要定期发送ping包来保持与MQTT服务器的连接。KeepAlive参数只是告诉服务器客户端期望保持连接的时间间隔,而ping包是实际上维持连接的手段。当客户端发送ping包时,MQTT服务器将会响应一个pingresp包,这样客户端就知道它与服务器的连接仍然有效。如果客户端在KeepAlive时间间隔内没有发送ping包,MQTT服务器将会主动断开与客户端的连接。因此,即使客户端设置了KeepAlive参数,也需要定期发送ping包来保持连接。
阅读全文