Client TCP/IP comment gérer une reconnexion automatique ?
Bonjour à tous,
Je réalise actuellement un code en python pour établir une connexion avec un serveur via un lien TCP/IP.
Après plusieurs essais, j'ai finalement réussi à établir une connexion avec un serveur (application c#). je peux donc envoyer et recevoir des messages.
Malheureusement, lorsque je perds la connexion avec le serveur, mon code en python s'arrête parce que je lance une exception.
Je ne vois pas comment coder une reconnexion automatique en python vers mon serveur. Par exemple avec plusieurs tentatives toutes les 10 secondes par exemple.
Voici le bout de code que j'ai écris:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
import sys, os
#from socket import *
#from select import *
import socket
import select
HOST = '192.168.1.4'
PORT = 8000 # The port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
read_list = [ s]
write_list = [ s]
try:
while 1:
rl, wl, el = select.select(read_list, write_list, [])
if s in rl:
print "DATA FROM SERVER " + HOST
data = s.recv(1024)
print 'Received', repr(data)
MSG_SERVER = True
if s in wl and MSG_SERVER:
print "DATA TO SERVER " + HOST
s.send('Hello, world')
MSG_SERVER = False
except Exception, e:
raise Exception, e
# upon an exception, close the socket:
s.close() |
J'essai juste d'avoir un code fiable pour être sûr que mon code tente toujours de faire le lien avec mon serveur.
Merci