由于我的 ESP8266 客户端(PubSubClient 2.6.0)和我的 Raspberry Pi 上的 Mosquitto 代理(mosquitto 1.4.10)之间的“客户端套接字错误”,我一直在寻找看似随机且不频繁的断开连接问题。
我一直在查看各种日志文件和调试语句,试图弄清楚发生了什么。在跟踪日志文件 ( tail -f /var/log/mosquitto/mosquitto.log
) 时,我注意到PINGREQ
和PINGRESP
记录对不会同时填充,即使它们的时间戳是相同的。PINGRESP
直到收到下一个 PINGREQ
才会出现。这是正常行为吗?
下面的屏幕截图中提供了一个示例。橙色排最先出现。15 秒后,蓝色行在日志文件中被添加到一起,即使它们没有相同的时间戳。事实上,PINGRESP
时间戳与PINGREQ
上述(橙色)相同(1516832931 )。
我希望PINGRESP
几乎立即跟在后面PINGREQ
(即。时间戳是有道理的)。鉴于我在tail
. 我认为这很重要,因为我认为断开连接是由于 keepalive 违规造成的,我的 keepalive 超时为 15 秒。