diff --git a/src/client.py b/src/client.py --- a/src/client.py +++ b/src/client.py @@ -1,4 +1,3 @@ -import sys import collections import socket import ssl @@ -9,7 +8,7 @@ import config as conf import stats from util import Progress from hashtree import HashTree,hashBlock -from netnode import BaseConnection,NetNode +from netnode import BaseConnection,NetNode,FailedConnection class Connection(BaseConnection): @@ -22,13 +21,20 @@ class Connection(BaseConnection): sslContext.load_cert_chain(conf.certfile,conf.keyfile) self._socket=sslContext.wrap_socket(sock) + try: self._socket.connect((host,port)) - except ConnectionRefusedError: - print("Couldn't connect to {0}:{1}".format(conf.hosts[0],conf.port)) - sys.exit(1) + except ConnectionRefusedError as e: + log.exception(e) + print("Couldn't connect to {0}:{1}".format(host,port)) + raise FailedConnection() + except ssl.SSLError as e: + log.exception(e) + print("Error creating SSL connection to {0}:{1}".format(host,port)) + raise FailedConnection() self.createNetworkers() + print("Connected to {0}".format(host)) class Client(NetNode):