Skip to content

Commit cd254f5

Browse files
committed
Add WebSockets prefix to normal and secure client
Why: - Avoid name collision - Fix broken reconnect change This change addresses the need by: - Adding WebSockets prefix to all custom clients - Marking custom client as secure in clientDisconnect() - Remove broken fix for reconnecting
1 parent e19dfba commit cd254f5

File tree

10 files changed

+66
-65
lines changed

10 files changed

+66
-65
lines changed

examples/esp32_pio/CustomNetworkClient/platformio.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
; https://docs.platformio.org/page/projectconf.html
1010

1111
[env:esp32dev]
12-
platform = espressif32
12+
platform = espressif32@6.11.0
1313
board = esp32dev
1414
framework = arduino
1515
monitor_speed = 115200

examples/esp32_pio/CustomNetworkClient/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void setup() {
105105
}
106106

107107
// Call to enable WiFi interface to be used by the webSocketClient
108-
NetworkClient::Impl::enableWifi();
108+
WebSocketsNetworkClient::Impl::enableWifi();
109109

110110
setClock();
111111

examples/esp32_pio/CustomNetworkClient/src/network_client.cpp

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
#include "network_client_impl.h"
22

3-
NetworkClient::NetworkClient() : _impl(new NetworkClient::Impl()) {}
4-
NetworkClient::NetworkClient(WiFiClient wifi_client)
5-
: _impl(new NetworkClient::Impl()) {}
6-
NetworkClient::~NetworkClient() {}
3+
WebSocketsNetworkClient::WebSocketsNetworkClient()
4+
: _impl(new WebSocketsNetworkClient::Impl()) {}
5+
WebSocketsNetworkClient::WebSocketsNetworkClient(WiFiClient wifi_client)
6+
: _impl(new WebSocketsNetworkClient::Impl()) {}
7+
WebSocketsNetworkClient::~WebSocketsNetworkClient() {}
78

8-
int NetworkClient::connect(IPAddress ip, uint16_t port) {
9+
int WebSocketsNetworkClient::connect(IPAddress ip, uint16_t port) {
910
if (_impl->gsm_client_) {
1011
return _impl->gsm_client_->connect(ip, port);
1112
} else if (_impl->wifi_client_) {
@@ -15,7 +16,7 @@ int NetworkClient::connect(IPAddress ip, uint16_t port) {
1516
return 0;
1617
}
1718

18-
int NetworkClient::connect(const char *host, uint16_t port) {
19+
int WebSocketsNetworkClient::connect(const char *host, uint16_t port) {
1920
if (_impl->gsm_client_) {
2021
return _impl->gsm_client_->connect(host, port);
2122
} else if (_impl->wifi_client_) {
@@ -24,8 +25,8 @@ int NetworkClient::connect(const char *host, uint16_t port) {
2425
Serial.println(_impl->no_interface_error_);
2526
return 0;
2627
}
27-
int NetworkClient::connect(const char *host, uint16_t port,
28-
int32_t timeout_ms) {
28+
int WebSocketsNetworkClient::connect(const char *host, uint16_t port,
29+
int32_t timeout_ms) {
2930
if (_impl->gsm_client_) {
3031
return _impl->gsm_client_->connect(host, port, timeout_ms);
3132
} else if (_impl->wifi_client_) {
@@ -35,7 +36,7 @@ int NetworkClient::connect(const char *host, uint16_t port,
3536
return 0;
3637
}
3738

38-
size_t NetworkClient::write(uint8_t data) {
39+
size_t WebSocketsNetworkClient::write(uint8_t data) {
3940
if (_impl->gsm_client_) {
4041
return _impl->gsm_client_->write(data);
4142
} else if (_impl->wifi_client_) {
@@ -45,7 +46,7 @@ size_t NetworkClient::write(uint8_t data) {
4546
return 0;
4647
}
4748

48-
size_t NetworkClient::write(const uint8_t *buf, size_t size) {
49+
size_t WebSocketsNetworkClient::write(const uint8_t *buf, size_t size) {
4950
Serial.printf("Send_: %zu\n", size);
5051
if (_impl->gsm_client_) {
5152
return _impl->gsm_client_->write(buf, size);
@@ -56,7 +57,7 @@ size_t NetworkClient::write(const uint8_t *buf, size_t size) {
5657
return 0;
5758
}
5859

59-
size_t NetworkClient::write(const char *str) {
60+
size_t WebSocketsNetworkClient::write(const char *str) {
6061
const int size = strlen(str);
6162
Serial.printf("Send: %zu\n", size);
6263
if (_impl->gsm_client_) {
@@ -68,7 +69,7 @@ size_t NetworkClient::write(const char *str) {
6869
return 0;
6970
}
7071

71-
int NetworkClient::available() {
72+
int WebSocketsNetworkClient::available() {
7273
if (_impl->gsm_client_) {
7374
return _impl->gsm_client_->available();
7475
} else if (_impl->wifi_client_) {
@@ -78,7 +79,7 @@ int NetworkClient::available() {
7879
return 0;
7980
}
8081

81-
int NetworkClient::read() {
82+
int WebSocketsNetworkClient::read() {
8283
if (_impl->gsm_client_) {
8384
return _impl->gsm_client_->read();
8485
} else if (_impl->wifi_client_) {
@@ -88,7 +89,7 @@ int NetworkClient::read() {
8889
return 0;
8990
}
9091

91-
int NetworkClient::read(uint8_t *buf, size_t size) {
92+
int WebSocketsNetworkClient::read(uint8_t *buf, size_t size) {
9293
if (_impl->gsm_client_) {
9394
return _impl->gsm_client_->read(buf, size);
9495
} else if (_impl->wifi_client_) {
@@ -98,7 +99,7 @@ int NetworkClient::read(uint8_t *buf, size_t size) {
9899
return 0;
99100
}
100101

101-
int NetworkClient::peek() {
102+
int WebSocketsNetworkClient::peek() {
102103
if (_impl->gsm_client_) {
103104
return _impl->gsm_client_->peek();
104105
} else if (_impl->wifi_client_) {
@@ -108,7 +109,7 @@ int NetworkClient::peek() {
108109
return 0;
109110
}
110111

111-
void NetworkClient::flush() {
112+
void WebSocketsNetworkClient::flush() {
112113
if (_impl->gsm_client_) {
113114
return _impl->gsm_client_->flush();
114115
} else if (_impl->wifi_client_) {
@@ -117,7 +118,7 @@ void NetworkClient::flush() {
117118
Serial.println(_impl->no_interface_error_);
118119
}
119120

120-
void NetworkClient::stop() {
121+
void WebSocketsNetworkClient::stop() {
121122
if (_impl->gsm_client_) {
122123
return _impl->gsm_client_->stop();
123124
} else if (_impl->wifi_client_) {
@@ -126,7 +127,7 @@ void NetworkClient::stop() {
126127
Serial.println(_impl->no_interface_error_);
127128
}
128129

129-
uint8_t NetworkClient::connected() {
130+
uint8_t WebSocketsNetworkClient::connected() {
130131
if (_impl->gsm_client_) {
131132
return _impl->gsm_client_->connected();
132133
} else if (_impl->wifi_client_) {
@@ -136,7 +137,7 @@ uint8_t NetworkClient::connected() {
136137
return 0;
137138
}
138139

139-
NetworkClient::operator bool() {
140+
WebSocketsNetworkClient::operator bool() {
140141
if (_impl->gsm_client_) {
141142
return _impl->gsm_client_->operator bool();
142143
} else if (_impl->wifi_client_) {
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "network_client_impl.h"
22

3-
std::unique_ptr<WiFiClient> NetworkClient::Impl::wifi_client_ = nullptr;
4-
std::unique_ptr<WiFiClientSecure> NetworkClient::Impl::wifi_client_secure_ =
3+
std::unique_ptr<WiFiClient> WebSocketsNetworkClient::Impl::wifi_client_ = nullptr;
4+
std::unique_ptr<WiFiClientSecure> WebSocketsNetworkClient::Impl::wifi_client_secure_ =
55
nullptr;
6-
std::unique_ptr<TinyGsmClient> NetworkClient::Impl::gsm_client_ = nullptr;
7-
std::unique_ptr<SSLClient> NetworkClient::Impl::gsm_client_secure_ = nullptr;
8-
const char *NetworkClient::Impl::no_interface_error_ = "No interface";
6+
std::unique_ptr<TinyGsmClient> WebSocketsNetworkClient::Impl::gsm_client_ = nullptr;
7+
std::unique_ptr<SSLClient> WebSocketsNetworkClient::Impl::gsm_client_secure_ = nullptr;
8+
const char *WebSocketsNetworkClient::Impl::no_interface_error_ = "No interface";

examples/esp32_pio/CustomNetworkClient/src/network_client_impl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#pragma once
22

3-
#include <NetworkClientSecure.h>
43
#include <SSLClient.h>
54
#include <TinyGSM.h>
5+
#include <WebSocketsNetworkClientSecure.h>
66
#include <WiFiClientSecure.h>
77

8-
struct NetworkClient::Impl {
8+
struct WebSocketsNetworkClient::Impl {
99
static void enableWifi() {
1010
// Do nothing if already enabled
1111
if (wifi_client_ && wifi_client_secure_) {

examples/esp32_pio/CustomNetworkClient/src/network_client_secure.cpp

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
#include "network_client_impl.h"
22

3-
NetworkClientSecure::NetworkClientSecure() {}
4-
NetworkClientSecure::NetworkClientSecure(WiFiClient wifi_client) {}
5-
NetworkClientSecure::~NetworkClientSecure() {
3+
WebSocketsNetworkClientSecure::WebSocketsNetworkClientSecure() {}
4+
WebSocketsNetworkClientSecure::WebSocketsNetworkClientSecure(
5+
WiFiClient wifi_client) {}
6+
WebSocketsNetworkClientSecure::~WebSocketsNetworkClientSecure() {
67
if (_impl->gsm_client_secure_) {
78
_impl->gsm_client_secure_->stop();
89
}
910
}
1011

11-
int NetworkClientSecure::connect(IPAddress ip, uint16_t port) {
12+
int WebSocketsNetworkClientSecure::connect(IPAddress ip, uint16_t port) {
1213
if (_impl->gsm_client_secure_) {
1314
return _impl->gsm_client_secure_->connect(ip, port);
1415
} else if (_impl->wifi_client_secure_) {
@@ -18,7 +19,7 @@ int NetworkClientSecure::connect(IPAddress ip, uint16_t port) {
1819
return 0;
1920
}
2021

21-
int NetworkClientSecure::connect(const char *host, uint16_t port) {
22+
int WebSocketsNetworkClientSecure::connect(const char *host, uint16_t port) {
2223
if (_impl->gsm_client_secure_) {
2324
return _impl->gsm_client_secure_->connect(host, port);
2425
} else if (_impl->wifi_client_secure_) {
@@ -27,8 +28,8 @@ int NetworkClientSecure::connect(const char *host, uint16_t port) {
2728
Serial.println(_impl->no_interface_error_);
2829
return 0;
2930
}
30-
int NetworkClientSecure::connect(const char *host, uint16_t port,
31-
int32_t timeout_ms) {
31+
int WebSocketsNetworkClientSecure::connect(const char *host, uint16_t port,
32+
int32_t timeout_ms) {
3233
if (_impl->gsm_client_secure_) {
3334
// Ignore timeout as will cause read() to block for specified time
3435
return _impl->gsm_client_secure_->connect(host, port);
@@ -39,7 +40,7 @@ int NetworkClientSecure::connect(const char *host, uint16_t port,
3940
return 0;
4041
}
4142

42-
size_t NetworkClientSecure::write(uint8_t data) {
43+
size_t WebSocketsNetworkClientSecure::write(uint8_t data) {
4344
if (_impl->gsm_client_secure_) {
4445
return _impl->gsm_client_secure_->write(data);
4546
} else if (_impl->wifi_client_secure_) {
@@ -49,7 +50,7 @@ size_t NetworkClientSecure::write(uint8_t data) {
4950
return 0;
5051
}
5152

52-
size_t NetworkClientSecure::write(const uint8_t *buf, size_t size) {
53+
size_t WebSocketsNetworkClientSecure::write(const uint8_t *buf, size_t size) {
5354
if (_impl->gsm_client_secure_) {
5455
return _impl->gsm_client_secure_->write(buf, size);
5556
} else if (_impl->wifi_client_secure_) {
@@ -59,7 +60,7 @@ size_t NetworkClientSecure::write(const uint8_t *buf, size_t size) {
5960
return 0;
6061
}
6162

62-
size_t NetworkClientSecure::write(const char *str) {
63+
size_t WebSocketsNetworkClientSecure::write(const char *str) {
6364
const int size = strlen(str);
6465
if (_impl->gsm_client_secure_) {
6566
return _impl->gsm_client_secure_->write((const uint8_t *)str, size);
@@ -70,7 +71,7 @@ size_t NetworkClientSecure::write(const char *str) {
7071
return 0;
7172
}
7273

73-
int NetworkClientSecure::available() {
74+
int WebSocketsNetworkClientSecure::available() {
7475
if (_impl->gsm_client_secure_) {
7576
return _impl->gsm_client_secure_->available();
7677
} else if (_impl->wifi_client_secure_) {
@@ -80,7 +81,7 @@ int NetworkClientSecure::available() {
8081
return 0;
8182
}
8283

83-
int NetworkClientSecure::read() {
84+
int WebSocketsNetworkClientSecure::read() {
8485
if (_impl->gsm_client_secure_) {
8586
return _impl->gsm_client_secure_->read();
8687
} else if (_impl->wifi_client_secure_) {
@@ -90,7 +91,7 @@ int NetworkClientSecure::read() {
9091
return 0;
9192
}
9293

93-
int NetworkClientSecure::read(uint8_t *buf, size_t size) {
94+
int WebSocketsNetworkClientSecure::read(uint8_t *buf, size_t size) {
9495
if (_impl->gsm_client_secure_) {
9596
return _impl->gsm_client_secure_->read(buf, size);
9697
} else if (_impl->wifi_client_secure_) {
@@ -100,7 +101,7 @@ int NetworkClientSecure::read(uint8_t *buf, size_t size) {
100101
return 0;
101102
}
102103

103-
int NetworkClientSecure::peek() {
104+
int WebSocketsNetworkClientSecure::peek() {
104105
if (_impl->gsm_client_secure_) {
105106
return _impl->gsm_client_secure_->peek();
106107
} else if (_impl->wifi_client_secure_) {
@@ -110,7 +111,7 @@ int NetworkClientSecure::peek() {
110111
return 0;
111112
}
112113

113-
void NetworkClientSecure::flush() {
114+
void WebSocketsNetworkClientSecure::flush() {
114115
if (_impl->gsm_client_secure_) {
115116
return _impl->gsm_client_secure_->flush();
116117
} else if (_impl->wifi_client_secure_) {
@@ -119,7 +120,7 @@ void NetworkClientSecure::flush() {
119120
Serial.println(_impl->no_interface_error_);
120121
}
121122

122-
void NetworkClientSecure::stop() {
123+
void WebSocketsNetworkClientSecure::stop() {
123124
if (_impl->gsm_client_secure_) {
124125
return _impl->gsm_client_secure_->stop();
125126
} else if (_impl->wifi_client_secure_) {
@@ -128,7 +129,7 @@ void NetworkClientSecure::stop() {
128129
Serial.println(_impl->no_interface_error_);
129130
}
130131

131-
uint8_t NetworkClientSecure::connected() {
132+
uint8_t WebSocketsNetworkClientSecure::connected() {
132133
if (_impl->gsm_client_secure_) {
133134
return _impl->gsm_client_secure_->connected();
134135
} else if (_impl->wifi_client_secure_) {
@@ -138,7 +139,7 @@ uint8_t NetworkClientSecure::connected() {
138139
return 0;
139140
}
140141

141-
NetworkClientSecure::operator bool() {
142+
WebSocketsNetworkClientSecure::operator bool() {
142143
if (_impl->gsm_client_secure_) {
143144
return _impl->gsm_client_secure_->operator bool();
144145
} else if (_impl->wifi_client_secure_) {
@@ -148,7 +149,7 @@ NetworkClientSecure::operator bool() {
148149
return 0;
149150
}
150151

151-
void NetworkClientSecure::setCACert(const char *rootCA) {
152+
void WebSocketsNetworkClientSecure::setCACert(const char *rootCA) {
152153
if (_impl->gsm_client_secure_) {
153154
return _impl->gsm_client_secure_->setCertificate(rootCA);
154155
} else if (_impl->wifi_client_secure_) {
@@ -157,7 +158,7 @@ void NetworkClientSecure::setCACert(const char *rootCA) {
157158
Serial.println(_impl->no_interface_error_);
158159
}
159160

160-
void NetworkClientSecure::setCACertBundle(const uint8_t *bundle) {
161+
void WebSocketsNetworkClientSecure::setCACertBundle(const uint8_t *bundle) {
161162
if (_impl->gsm_client_secure_) {
162163
return _impl->gsm_client_secure_->setCACertBundle(bundle);
163164
} else if (_impl->wifi_client_secure_) {
@@ -166,7 +167,7 @@ void NetworkClientSecure::setCACertBundle(const uint8_t *bundle) {
166167
Serial.println(_impl->no_interface_error_);
167168
}
168169

169-
void NetworkClientSecure::setInsecure() {
170+
void WebSocketsNetworkClientSecure::setInsecure() {
170171
if (_impl->gsm_client_secure_) {
171172
_impl->gsm_client_secure_->setInsecure();
172173
} else if (_impl->wifi_client_secure_) {
@@ -175,8 +176,8 @@ void NetworkClientSecure::setInsecure() {
175176
Serial.println(_impl->no_interface_error_);
176177
}
177178

178-
bool NetworkClientSecure::verify(const char *fingerprint,
179-
const char *domain_name) {
179+
bool WebSocketsNetworkClientSecure::verify(const char *fingerprint,
180+
const char *domain_name) {
180181
if (_impl->gsm_client_secure_) {
181182
// Simply calling SSLClient::verify() will break TLS handshake
182183
// Can be skipped as verification is done by SSLClient itself,

src/WebSockets.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,12 +288,12 @@
288288
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
289289

290290
#elif(WEBSOCKETS_NETWORK_TYPE == NETWORK_CUSTOM)
291-
#include <NetworkClientSecure.h>
291+
#include <WebSocketsNetworkClientSecure.h>
292292
#include <WiFiServer.h>
293293

294294
#define SSL_AXTLS
295-
#define WEBSOCKETS_NETWORK_CLASS NetworkClient
296-
#define WEBSOCKETS_NETWORK_SSL_CLASS NetworkClientSecure
295+
#define WEBSOCKETS_NETWORK_CLASS WebSocketsNetworkClient
296+
#define WEBSOCKETS_NETWORK_SSL_CLASS WebSocketsNetworkClientSecure
297297
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
298298
#else
299299
#error "no network type selected!"

src/WebSocketsClient.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ void WebSocketsClient::messageReceived(WSclient_t * client, WSopcode_t opcode, u
525525
void WebSocketsClient::clientDisconnect(WSclient_t * client) {
526526
bool event = false;
527527

528-
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_RP2040)
528+
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_RP2040) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_CUSTOM)
529529
if(client->isSSL && client->ssl) {
530530
if(client->ssl->connected()) {
531531
client->ssl->flush();
@@ -556,7 +556,6 @@ void WebSocketsClient::clientDisconnect(WSclient_t * client) {
556556
#endif
557557
#endif
558558
client->tcp = NULL;
559-
client->ssl = NULL;
560559
}
561560

562561
client->cCode = 0;

0 commit comments

Comments
 (0)