File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ WebSocketsServerCore::~WebSocketsServerCore() {
65
65
}
66
66
67
67
WebSocketsServer::~WebSocketsServer () {
68
+ delete _server;
68
69
}
69
70
70
71
/* *
@@ -428,8 +429,16 @@ WSclient_t * WebSocketsServerCore::newClient(WEBSOCKETS_NETWORK_CLASS * TCPclien
428
429
for (uint8_t i = 0 ; i < WEBSOCKETS_SERVER_CLIENT_MAX; i++) {
429
430
client = &_clients[i];
430
431
432
+ // look for match to existing socket before creating a new one
433
+ if (clientIsConnected (client))
434
+ {
435
+ // Check to see if it is the same socket - if so, return it
436
+ if (client->tcp ->getSocketNumber () == TCPclient->getSocketNumber ())
437
+ {
438
+ return client;
439
+ }
440
+ } else {
431
441
// state is not connected or tcp connection is lost
432
- if (!clientIsConnected (client)) {
433
442
client->tcp = TCPclient;
434
443
435
444
#if (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32)
You can’t perform that action at this time.
0 commit comments