From 44c00d2dd9d66cb8783548c2d2897361ecbf4a35 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Sat, 23 May 2015 09:34:09 +0200 Subject: [PATCH] no need to store the Sec-WebSocket-Accept key if needed can be generated by acceptKey from client Sec-WebSocket-Key --- src/WebSockets.h | 2 -- src/WebSocketsServer.cpp | 10 +++------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/WebSockets.h b/src/WebSockets.h index 7ac49e3..0b243a1 100644 --- a/src/WebSockets.h +++ b/src/WebSockets.h @@ -86,8 +86,6 @@ typedef struct { String cExtensions; ///< client Sec-WebSocket-Extensions int cVersion; ///< client Sec-WebSocket-Version - String sKey; ///< server Sec-WebSocket-Key - } WSclient_t; class WebSockets { diff --git a/src/WebSocketsServer.cpp b/src/WebSocketsServer.cpp index 3b25af4..4624b48 100644 --- a/src/WebSocketsServer.cpp +++ b/src/WebSocketsServer.cpp @@ -55,8 +55,6 @@ void WebSocketsServer::begin(void) { client->cIsUpgrade = false; client->cIsWebsocket = false; - client->sKey = ""; - client->status = WSC_NOT_CONNECTED; } @@ -259,8 +257,6 @@ void WebSocketsServer::clientDisconnect(WSclient_t * client) { client->cIsUpgrade = false; client->cIsWebsocket = false; - client->sKey = ""; - client->status = WSC_NOT_CONNECTED; DEBUG_WEBSOCKETS("[WS-Server][%d] client disconnected.\n", client->num); @@ -422,9 +418,9 @@ void WebSocketsServer::handleHeader(WSclient_t * client) { DEBUG_WEBSOCKETS("[WS-Server][%d][handleHeader] Websocket connection incomming.\n", client->num); // generate Sec-WebSocket-Accept key - client->sKey = acceptKey(client->cKey); + String sKey = acceptKey(client->cKey); - DEBUG_WEBSOCKETS("[WS-Server][%d][handleHeader] - sKey: %s\n", client->num, client->sKey.c_str()); + DEBUG_WEBSOCKETS("[WS-Server][%d][handleHeader] - sKey: %s\n", client->num, sKey.c_str()); client->status = WSC_CONNECTED; @@ -434,7 +430,7 @@ void WebSocketsServer::handleHeader(WSclient_t * client) { "Connection: Upgrade\r\n" "Sec-WebSocket-Version: 13\r\n" "Sec-WebSocket-Accept: "); - client->tcp.write(client->sKey.c_str(), client->sKey.length()); + client->tcp.write(sKey.c_str(), sKey.length()); client->tcp.write("\r\n"); if(client->cProtocol.length() > 0) {