【发布时间】:2020-08-01 07:50:01
【问题描述】:
我写了一个简单的程序,用来观察MQTT连接状态。
MQTT 库选择
只做MQTT Connect,不做其他事情,比如client.loop(keep connect)、disconnect。
连接成功后,等待大约22秒后,TCP发送[FIN, ACK]和[RST, ACK]。
TCP 超时了吗? 以及如何从 Wireshark 获知 TCP 超时值和查看会话。
客户端:ESP8266 MQTT 代理:Windows
代码:
void MQTT_Setup(){
client.setServer(MQTT_SERVER, MQTT_PORT);
//client.setCallback(callback);
MQTT_Connect();
}
void MQTT_Connect(){
bool bMQTT;
bMQTT = client.connect("ESP");
Serial.println("MQTT Connected");
if(bMQTT)MQTT_Disconnect();
//MQTT_Publish();
}
void setup() {
Serial.begin(BAUDRATE);
delay(3000);
WIFI_Setup();
MQTT_Setup();
}
void loop() {
//client.loop();
}
【问题讨论】: