From 8720130990ea0bb123c1856776d3057ddad2c967 Mon Sep 17 00:00:00 2001 From: JKorf Date: Sun, 14 Dec 2025 20:27:52 +0100 Subject: [PATCH] Update CryptoExchangeWebSocketClient.cs --- .../Sockets/Default/CryptoExchangeWebSocketClient.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CryptoExchange.Net/Sockets/Default/CryptoExchangeWebSocketClient.cs b/CryptoExchange.Net/Sockets/Default/CryptoExchangeWebSocketClient.cs index e6b15e0..dc38561 100644 --- a/CryptoExchange.Net/Sockets/Default/CryptoExchangeWebSocketClient.cs +++ b/CryptoExchange.Net/Sockets/Default/CryptoExchangeWebSocketClient.cs @@ -450,10 +450,12 @@ namespace CryptoExchange.Net.Sockets.Default try { if (_socket.State == WebSocketState.CloseReceived) - await _socket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "Closing", default).ConfigureAwait(false); - else if (_socket.State == WebSocketState.Open) { await _socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closing", default).ConfigureAwait(false); + } + else if (_socket.State == WebSocketState.Open) + { + await _socket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "Closing", default).ConfigureAwait(false); var startWait = DateTime.UtcNow; while (_socket.State != WebSocketState.Closed && _socket.State != WebSocketState.Aborted) { @@ -819,6 +821,7 @@ namespace CryptoExchange.Net.Sockets.Default // Received a complete message and it's not multi part if (_logger.IsEnabled(LogLevel.Trace)) _logger.SocketReceivedSingleMessage(Id, receiveResult.Count); + ProcessDataNew(receiveResult.MessageType, buffer.Span.Slice(0, receiveResult.Count)); } else @@ -826,6 +829,7 @@ namespace CryptoExchange.Net.Sockets.Default // Received the end of a multipart message, write to memory stream for reassembling if (_logger.IsEnabled(LogLevel.Trace)) _logger.SocketReceivedPartialMessage(Id, receiveResult.Count); + multipartStream!.Write(buffer.Span.Slice(0, receiveResult.Count)); }