diff --git a/pyasic/rpc/base.py b/pyasic/rpc/base.py index d6d4a894..a984cbcc 100644 --- a/pyasic/rpc/base.py +++ b/pyasic/rpc/base.py @@ -215,14 +215,18 @@ async def _send_bytes( return b"{}" # send the command - data_task = asyncio.create_task(self._read_bytes(reader, timeout=timeout)) - logging.debug(f"{self} - ([Hidden] Send Bytes) - Writing") - writer.write(data) - logging.debug(f"{self} - ([Hidden] Send Bytes) - Draining") - await writer.drain() - - await data_task - ret_data = data_task.result() + try: + data_task = asyncio.create_task(self._read_bytes(reader, timeout=timeout)) + logging.debug(f"{self} - ([Hidden] Send Bytes) - Writing") + writer.write(data) + logging.debug(f"{self} - ([Hidden] Send Bytes) - Draining") + await writer.drain() + + await data_task + ret_data = data_task.result() + except TimeoutError: + logging.warning(f"{self} - ([Hidden] Send Bytes) - Read timeout expired.") + return b"{}" # close the connection logging.debug(f"{self} - ([Hidden] Send Bytes) - Closing")