8000 Merge pull request #565 from tobiges/master · sabhishek7755/arduinoWebSockets@05ec18e · GitHub
[go: up one dir, main page]

Skip to content

Commit 05ec18e

Browse files
authored
Merge pull request Links2004#565 from tobiges/master
header response timeout added
2 parents 7e34a8b + e185668 commit 05ec18e

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/WebSocketsClient.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ void WebSocketsClient::begin(const char * host, uint16_t port, const char * url,
8585
#endif
8686

8787
_lastConnectionFail = 0;
88+
_lastHeaderSent = 0;
8889
}
8990

9091
void WebSocketsClient::begin(String host, uint16_t port, String url, String protocol) {
@@ -490,6 +491,12 @@ bool WebSocketsClient::clientIsConnected(WSclient_t * client) {
490491
* Handel incomming data from Client
491492
*/
492493
void WebSocketsClient::handleClientData(void) {
494+
if(_client.status == WSC_HEADER && _lastHeaderSent + WEBSOCKETS_TCP_TIMEOUT < millis()) {
495+
DEBUG_WEBSOCKETS("[WS-Client][handleClientData] header response timeout.. disconnecting!\n");
496+
clientDisconnect(&_client);
497+
WEBSOCKETS_YIELD();
498+
return;
499+
}
493500
int len = _client.tcp->available();
494501
if(len > 0) {
495502
switch(_client.status) {
@@ -598,6 +605,7 @@ void WebSocketsClient::sendHeader(WSclient_t * client) {
598605
#endif
599606

600607
DEBUG_WEBSOCKETS("[WS-Client][sendHeader] sending header... Done (%luus).\n", (micros() - start));
608+
_lastHeaderSent = millis();
601609
}
602610

603611
/**

src/WebSocketsClient.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ class WebSocketsClient : protected WebSockets {
107107

108108
unsigned long _lastConnectionFail;
109109
unsigned long _reconnectInterval;
110+
unsigned long _lastHeaderSent;
110111

111112
void messageReceived(WSclient_t * client, WSopcode_t opcode, uint8_t * payload, size_t length, bool fin);
112113

0 commit comments

Comments
 (0)
0