diff --git a/src/WebSocketsServer.cpp b/src/WebSocketsServer.cpp index a682ec9..3b76343 100644 --- a/src/WebSocketsServer.cpp +++ b/src/WebSocketsServer.cpp @@ -419,6 +419,18 @@ int WebSocketsServer::connectedClients(bool ping) { return count; } +/** + * see if one client is connected + * @param num uint8_t client id + */ +bool WebSocketsServer::clientIsConnected(uint8_t num) { + if(num >= WEBSOCKETS_SERVER_CLIENT_MAX) { + return false; + } + WSclient_t * client = &_clients[num]; + return clientIsConnected(client); +} + #if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32) /** * get an IP for a client diff --git a/src/WebSocketsServer.h b/src/WebSocketsServer.h index 19c934d..27adf09 100644 --- a/src/WebSocketsServer.h +++ b/src/WebSocketsServer.h @@ -92,6 +92,8 @@ class WebSocketsServer : protected WebSockets { int connectedClients(bool ping = false); + bool clientIsConnected(uint8_t num); + void enableHeartbeat(uint32_t pingInterval, uint32_t pongTimeout, uint8_t disconnectTimeoutCount); void disableHeartbeat();