diff --git a/bfxapi/websocket/BfxWebsocketClient.py b/bfxapi/websocket/BfxWebsocketClient.py index 07a4c11..dd11168 100644 --- a/bfxapi/websocket/BfxWebsocketClient.py +++ b/bfxapi/websocket/BfxWebsocketClient.py @@ -68,6 +68,7 @@ class BfxWebsocketClient(object): elif isinstance(message, list) and (chanId := message[0]) == 0 and message[1] != HEARTBEAT: self.handler.handle(message[1], message[2]) except websockets.ConnectionClosedError: continue + finally: await self.websocket.wait_closed(); break async def __authenticate(self, API_KEY, API_SECRET, filter=None): data = { "event": "auth", "filter": filter, "apiKey": API_KEY } @@ -170,6 +171,7 @@ class _BfxWebsocketBucket(object): elif isinstance(message, list) and (chanId := message[0]) and message[1] != HEARTBEAT: self.handler.handle(self.chanIds[chanId], *message[1:]) except websockets.ConnectionClosedError: continue + finally: await self.websocket.wait_closed(); break @_require_websocket_connection async def _subscribe(self, channel, subId=None, **kwargs):