Bonjour,
j'ai un serveur qui reçoit des données d'un client (des noms de fichier) et lui renvoie les fichier.
Je fais une boucle pour que le serveur écoute indéfiniment avec while 1: et dans cette boucle un break si il ne reçoit plus rien.
Après l'envoi de tous les fichiers, j'ai une erreur qui dit qu'il ne trouve pas le fichier b'' (vide).
Pourquoi le break ne fonctionne pas?
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 class ClientThread(threading.Thread): def __init__(self, ip, port, clientsocket): threading.Thread.__init__(self) self.ip = ip self.port = port self.clientsocket = clientsocket print("[+] Nouveau thread pour %s %s" % (self.ip, self.port, )) def run(self): print("Connection de %s %s" % (self.ip, self.port, )) while 1: r = clientsocket.recv(2048) if r == "": break fichier = open(r, 'r') f = fichier.read() data = encrypt(f) fichier.close() self.clientsocket.send(data) print("Client déconnecté...") self.clientsocket.close()
L'erreur
[+] Nouveau thread pour 192.168.1.2 58741
Connection de 192.168.1.2 58741
En écoute...
Exception in thread Thread-1:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/Users/macbookpro15/Desktop/PycharmProjects/VoIP2/PyCryptoServeur.py", line 40, in run
fichier = open(r, 'r')
FileNotFoundError: [Errno 2] No such file or directory: b''
Partager