mirror of
https://github.com/Links2004/arduinoWebSockets.git
synced 2025-07-14 15:56:30 +02:00
@ -254,7 +254,11 @@ void WebSockets::handleWebsocket(WSclient_t * client) {
|
||||
}
|
||||
|
||||
if(mask) {
|
||||
client->tcp.read(maskKey, 4);
|
||||
if(!readWait(client, maskKey, 4)) {
|
||||
//timeout
|
||||
clientDisconnect(client, 1002);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(payloadLen > 0) {
|
||||
|
@ -44,7 +44,7 @@
|
||||
#endif
|
||||
|
||||
#define WEBSOCKETS_MAX_DATA_SIZE (15*1024)
|
||||
#define WEBSOCKETS_TCP_TIMEOUT (1000)
|
||||
#define WEBSOCKETS_TCP_TIMEOUT (1500)
|
||||
|
||||
typedef enum {
|
||||
WSC_NOT_CONNECTED,
|
||||
|
@ -218,13 +218,17 @@ void WebSocketsClient::clientDisconnect(WSclient_t * client) {
|
||||
*/
|
||||
bool WebSocketsClient::clientIsConnected(WSclient_t * client) {
|
||||
|
||||
if(client->status != WSC_NOT_CONNECTED && client->tcp.connected()) {
|
||||
if(client->tcp.connected()) {
|
||||
if(client->status != WSC_NOT_CONNECTED) {
|
||||
return true;
|
||||
}
|
||||
|
||||
} else {
|
||||
// client lost
|
||||
if(client->status != WSC_NOT_CONNECTED) {
|
||||
// cleanup
|
||||
clientDisconnect(&_client);
|
||||
DEBUG_WEBSOCKETS("[WS-Client] connection lost.\n");
|
||||
// do cleanup
|
||||
clientDisconnect(client);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -302,14 +302,18 @@ void WebSocketsServer::clientDisconnect(WSclient_t * client) {
|
||||
*/
|
||||
bool WebSocketsServer::clientIsConnected(WSclient_t * client) {
|
||||
|
||||
if(client->status != WSC_NOT_CONNECTED && client->tcp.connected()) {
|
||||
if(client->tcp.connected()) {
|
||||
if(client->status != WSC_NOT_CONNECTED) {
|
||||
return true;
|
||||
}
|
||||
|
||||
} else {
|
||||
// client lost
|
||||
if(client->status != WSC_NOT_CONNECTED) {
|
||||
// cleanup
|
||||
DEBUG_WEBSOCKETS("[WS-Server][%d] client connection lost.\n", client->num);
|
||||
// do cleanup
|
||||
clientDisconnect(client);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user