Faire cohabiter deux sockets TCP dans le même script
	
	
		Bonjour à tous,
Pour résumer mon code, on attend (code bloquant) de recevoir une requête en provenance d'une raspberry (contenant un identifiant), ensuite on fait mumuse avec des GPIO en fonction de l'identifiant reçu, puis on envoie une requête à un autre équipement, contenant de l'ASCII. La requête doit être reçue sur le port 15555 et la requête sortante sur le port 5045
Voici mon code :
	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
   | # coding: utf-8
 
import socket
import RPi.GPIO as GPIO
import time
 
gache = [17,27,22,0,0,0,0,0,0,0,22]
 
def ouvrirGache(numGache):
    if (numGache > 0): ouvrirGache(0)
    GPIO.output(gache[numGache],True)
    time.sleep(2)
    GPIO.output(gache[numGache],False)
 
rx = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
rx.bind(('', 15555))
 
tx = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
GPIO.setmode(GPIO.BCM)
 
for i in range(0,11):
    GPIO.setup(gache[i],GPIO.OUT)
 
while True:
        rx.listen(5)
        client, address = rx.accept()
        reponse = client.recv(255)
        ouvrirGache( int(reponse) )
        tx.connect(('172.17.4.83', 5045))
        tx.send('TEST.')
        tx.close()
 
print "Close"
client.close()
rx.close()
GPIO.cleanup() | 
 Cependant, j'obtiens les erreurs suivantes :
	Code:
	
1 2 3 4 5 6 7 8
   | Traceback (most recent call last):
  File "Desktop/TCPsockets.py", line 30, in <module>
    tx.connect(('172.17.4.83', 5045))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
  File "/usr/lib/python2.7/socket.py", line 174, in _dummy
    raise error(EBADF, 'Bad file descriptor')
socket.error: [Errno 9] Bad file descriptor | 
 Une idée ?
Merci et bonne journée à tous,
Cordialement,
Waryard