diff --git a/telethon/extensions/tcpclient.py b/telethon/extensions/tcpclient.py index a15d7ca6..716c4066 100644 --- a/telethon/extensions/tcpclient.py +++ b/telethon/extensions/tcpclient.py @@ -102,7 +102,12 @@ class TcpClient: loop=self._loop ) if wrap_ssl: - self._socket = ssl.wrap_socket(self._socket, **self.ssl) + # Temporarily set the socket to blocking + # (timeout) until connection is established. + self._socket.settimeout(self.timeout) + self._socket = ssl.wrap_socket( + self._socket, do_handshake_on_connect=True, **self.ssl) + self._socket.setblocking(False) self._closed.clear() except OSError as e: