Implemented HeartBeat in WebSocketsServer

This commit is contained in:
maurus_fritsche
2020-02-10 19:45:55 +01:00
parent c038f100d6
commit 674a6e98c9
2 changed files with 72 additions and 0 deletions

View File

@ -91,6 +91,9 @@ class WebSocketsServer : protected WebSockets {
void setAuthorization(const char * auth);
int connectedClients(bool ping = false);
void enableHeartbeat(uint32_t pingInterval, uint32_t pongTimeout, uint8_t disconnectTimeoutCount);
void disableHeartbeat();
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC) || (WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP32)
IPAddress remoteIP(uint8_t num);
@ -112,6 +115,10 @@ class WebSocketsServer : protected WebSockets {
WebSocketServerHttpHeaderValFunc _httpHeaderValidationFunc;
bool _runnning;
uint32_t _pingInterval;
uint32_t _pongTimeout;
uint8_t _disconnectTimeoutCount;
bool newClient(WEBSOCKETS_NETWORK_CLASS * TCPclient);
@ -126,6 +133,8 @@ class WebSocketsServer : protected WebSockets {
#endif
void handleHeader(WSclient_t * client, String * headerLine);
void handleHBPing(WSclient_t * client); // send ping in specified intervals
/**
* called if a non Websocket connection is coming in.