From 4d74dc1edb4462136dff0f61dec79fe59c609609 Mon Sep 17 00:00:00 2001 From: Stefan Ruijsenaars <4950254+stefanruijsenaars@users.noreply.github.com> Date: Wed, 6 Oct 2021 14:54:29 +0100 Subject: [PATCH] Update client.py --- smpplib/client.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/smpplib/client.py b/smpplib/client.py index b89af50..bb44b04 100644 --- a/smpplib/client.py +++ b/smpplib/client.py @@ -249,7 +249,16 @@ def read_pdu(self): raw_pdu = raw_len while len(raw_pdu) < length: - raw_pdu += self._socket.recv(length - len(raw_pdu)) + try: + raw_pdu_part = self._socket.recv(length - len(raw_pdu)) + except socket.timeout: + raise + except socket.error as e: + self.logger.warning(e) + raise exceptions.ConnectionError() + if not raw_pdu: + raise exceptions.ConnectionError() + raw_pdu += raw_pdu_part self.logger.debug('<<%s (%d bytes)', binascii.b2a_hex(raw_pdu), len(raw_pdu))