由于我的 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 秒。

