Salut..
je dois utiliser un un programme server qui me permettra de recevoir des données de mon robot...
quand j'éxecuete pour la 1 ere fois il marche...mais aprés il me donne cet erreur :
<class 'socket.error'>
(98, 'Address already in use')
j'ai utilisé socket.SO_REUSEADDR mais cela n'a rien changé..
je ne veux pas changer le numéro de port après chaque exécution car le robot doit interagir avec son environnement suivant une boucle motrice-sensorielle....bref je ne peux pas changé le numéro de port à chaque fois...
est ce que vous avez une idée??..merci d'avance..

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
def __init__(self):
        GeneratedClass.__init__(self)
        self.netProxy = ALProxy("ALNetwork")
        self.q= self.netProxy.findFreePort ("10.3.1.253")
        self.r= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.r.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.r.bind(('10.3.1.253', 54043))
        self.r.listen(1)
 
 
    def onInput_onStart(self):
        #self.onStopped() # activate output of the box
 
        (self.conn, self.addr) = self.r.accept()
 
        while 1:   
            data = self.conn.recv(1)
            self.onStopped()    
 
        self.conn.close()