I wrote a simple program used to observe the MQTT connection state.
MQTT library choice <PubSubClient.h>
Only do MQTT Connect, but not do other things, like client.loop(keep connect)、disconnect.
When connecting successfully, and wait about 22s after, TCP sends [FIN, ACK] and [RST, ACK].
Is TCP timeout ? And how to know TCP timeout value and view sessions from Wireshark .
Client: ESP8266 <-> MQTT Broker: Windows
Code:
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();
}
