Skip to content

Commit e4bc600

Browse files
committed
Keep alive control #def
1 parent 3c72eb0 commit e4bc600

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

src/ModbusIP_ESP8266.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,19 @@ void ModbusIP::config(const char* ssid, const char* password) {
1818
void ModbusIP::config() {
1919
server.begin();
2020
}
21-
WiFiClient client;
21+
#ifdef TCP_KEEP_ALIVE
22+
WiFiClient client;
23+
#endif
2224
void ModbusIP::task() {
23-
if (client == NULL || !client.connected())
24-
client = server.available();
25+
#ifdef TCP_KEEP_ALIVE
26+
if (!client || !client.connected()) {
27+
// if (client)
28+
// delete client;
29+
client = server.available();
30+
}
31+
#else
32+
WiFiClient client;
33+
#endif
2534

2635
int raw_len = 0;
2736

@@ -67,8 +76,9 @@ if (client == NULL || !client.connected())
6776

6877
client.write(sbuf, send_len);
6978
}
70-
71-
//client.stop();
79+
#ifndef TCP_KEEPALIVE
80+
client.stop();
81+
#endif
7282
free(_frame);
7383
_len = 0;
7484
}

src/ModbusIP_ESP8266.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
#define MODBUSIP_MAXFRAME 200
1313
#define MODBUSIP_TIMEOUT 10
1414

15+
#define TCP_KEEP_ALIVE
16+
1517
class ModbusIP : public Modbus {
1618
private:
1719
byte _MBAP[7];

0 commit comments

Comments
 (0)