diff --git a/adafruit_wiznet5k/adafruit_wiznet5k_socket.py b/adafruit_wiznet5k/adafruit_wiznet5k_socket.py index f915ef3..375d471 100644 --- a/adafruit_wiznet5k/adafruit_wiznet5k_socket.py +++ b/adafruit_wiznet5k/adafruit_wiznet5k_socket.py @@ -614,6 +614,12 @@ def recv_into(self, buffer: bytearray, nbytes: int = 0, flags: int = 0) -> int: elif num_read > 0: # We got a message, but there are no more bytes to read, so we can stop. break + elif self._status in ( + wiznet5k.adafruit_wiznet5k.SNSR_SOCK_CLOSED, + wiznet5k.adafruit_wiznet5k.SNSR_SOCK_CLOSE_WAIT, + ): + # No bytes to read and we will not get more, stop. + break # No bytes yet, or more bytes requested. if self._timeout is None: # blocking mode