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 : Sélectionner tout - Visualiser dans une fenêtre à part
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