From: Vincent Le Gallic Date: Tue, 4 Sep 2012 08:20:35 +0000 (+0200) Subject: full_read ne permettait plus de détecter un serveur down X-Git-Url: http://gitweb.pimeys.fr/?p=NK2015_Client_Python_Alpha.git;a=commitdiff_plain;h=bfc92fa24ddd8e0057eb1b6a68af334047300162 full_read ne permettait plus de détecter un serveur down --- diff --git a/client.py b/client.py index 672ef45..3a72202 100755 --- a/client.py +++ b/client.py @@ -19,15 +19,22 @@ from pprint import pprint sys.path.append(client_config.rsa_path) import monRSA +class DeadServer(Exception): + pass + def full_read(sock): """Lit sur la socket jusqu'à ce que l'output soit déJSON-izable""" output="" + i = 0 while True: output+=sock.read() + i += 1 try: return json.loads(output) except: pass + if i==10 and output=="": + raise DeadServer def connect(sock,where,port=None): if port==None: @@ -84,9 +91,9 @@ def lit(socket): print obj["errmsg"] return obj["msg"] except ssl.SSLError: - return "Rien à lire" - except ValueError: - return "Serveur mort ?" + print "Rien à lire" + except DeadServer: + print "Serveur down ?" if __name__=="__main__": where=raw_input("quel serveur ?")