diff --git a/CryptoExchange.Net/Clients/SocketApiClient.cs b/CryptoExchange.Net/Clients/SocketApiClient.cs index a0928ad..85e203f 100644 --- a/CryptoExchange.Net/Clients/SocketApiClient.cs +++ b/CryptoExchange.Net/Clients/SocketApiClient.cs @@ -208,7 +208,7 @@ namespace CryptoExchange.Net.Clients return socketResult.As(null); socketConnection = socketResult.Data; - subscription.HandleUpdatesBeforeConfirmation = HandleMessageBeforeConfirmation; + subscription.HandleUpdatesBeforeConfirmation = subscription.HandleUpdatesBeforeConfirmation || HandleMessageBeforeConfirmation; // Add a subscription on the socket connection var success = socketConnection.AddSubscription(subscription); diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs index 4d18ecb..1a1382e 100644 --- a/CryptoExchange.Net/Sockets/SocketConnection.cs +++ b/CryptoExchange.Net/Sockets/SocketConnection.cs @@ -406,7 +406,7 @@ namespace CryptoExchange.Net.Sockets { List listenerIds; lock (_listenersLock) - listenerIds = _listeners.SelectMany(l => l.ListenerIdentifiers).ToList(); + listenerIds = _listeners.Where(l => l.CanHandleData).SelectMany(l => l.ListenerIdentifiers).ToList(); _logger.LogWarning("[Sckt {SocketId}] received message not matched to any listener. ListenId: {ListenId}, current listeners: {ListenIds}", SocketId, listenId, listenerIds); UnhandledMessage?.Invoke(_accessor); }