diff --git a/src/AsyncWebSocket.cpp b/src/AsyncWebSocket.cpp index f507aa7..03ab68f 100644 --- a/src/AsyncWebSocket.cpp +++ b/src/AsyncWebSocket.cpp @@ -551,7 +551,7 @@ void AsyncWebSocketClient::_queueMessage(AsyncWebSocketMessage *dataMessage){ delete dataMessage; return; } - if(_messageQueue.length() > WS_MAX_QUEUED_MESSAGES){ + if(_messageQueue.length() >= WS_MAX_QUEUED_MESSAGES){ ets_printf("ERROR: Too many messages queued\n"); delete dataMessage; } else { diff --git a/src/AsyncWebSocket.h b/src/AsyncWebSocket.h index 06b942a..0a12acb 100644 --- a/src/AsyncWebSocket.h +++ b/src/AsyncWebSocket.h @@ -210,6 +210,8 @@ class AsyncWebSocketClient { void binary(const __FlashStringHelper *data, size_t len); void binary(AsyncWebSocketMessageBuffer *buffer); + bool canSend() { return _messageQueue.length() < WS_MAX_QUEUED_MESSAGES; } + //system callbacks (do not call) void _onAck(size_t len, uint32_t time); void _onError(int8_t);