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 :
Cependant, j'obtiens les erreurs suivantes :
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 # 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()
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci et bonne journée à tous,
Cordialement,
Waryard
Partager