diff --git a/socketIO_client/__init__.py b/socketIO_client/__init__.py index a5197e4..e6a465b 100644 --- a/socketIO_client/__init__.py +++ b/socketIO_client/__init__.py @@ -197,12 +197,15 @@ def _close(self): except AttributeError: pass if not hasattr(self, '_opened') or not self._opened: + self._http_session.close() return engineIO_packet_type = 1 try: self._transport_instance.send_packet(engineIO_packet_type) except (TimeoutError, ConnectionError): pass + self._http_session.close() + self._transport_instance.close() self._opened = False def _ping(self, engineIO_packet_data=''): diff --git a/socketIO_client/transports.py b/socketIO_client/transports.py index 822c87c..1efd852 100644 --- a/socketIO_client/transports.py +++ b/socketIO_client/transports.py @@ -45,6 +45,9 @@ def send_packet(self, engineIO_packet_type, engineIO_packet_data=''): def set_timeout(self, seconds=None): pass + def close(self): + pass + class XHR_PollingTransport(AbstractTransport): @@ -168,6 +171,9 @@ def send_packet(self, engineIO_packet_type, engineIO_packet_data=''): def set_timeout(self, seconds=None): self._connection.settimeout(seconds or self._timeout) + def close(self): + self._connection.close() + def get_response(request, *args, **kw): try: