Bonjour, je fais un transfert de fichier entre Debian(serveur) et Mac(client).
Les fichiers sont bien transférés sauf le dernier, le plus gros (6Ko), qui est coupé au milieu, à la réception le fichier ne fait plus que 3Ko.

J'ai fais le même test entre deux mac et je n'ai pas ce problème!

le script serveur sur Debian:

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
 
class ClientThread(threading.Thread):
    def __init__(self, ip, port, clientsocket):
    def envoi(self):
        print("envoi")
        print("Connection de %s %s" % (self.ip, self.port, ))
        maliste = ['iax.conf','meetme.conf','users.conf','extensions.conf']
        x = 0
        while 1:
            r = clientsocket.recv(2048)
            if r == b"":
                break
            fichier = open(r, 'r')
            shutil.copyfile(r, sousDossierLogs+'/'+ maliste[x])
            f = fichier.read(999999999)
            data = encrypt(f)
            self.clientsocket.send(data)
            fichier.close()
            x += 1
        print("Client déconnecté...")
        self.clientsocket.close()
et le script de réception (sur le Mac)
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
 
def telechargementFichier(host,port, dossier):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    flagServ = "EEEEEEEE"
    s.send(flagServ.encode())
    maliste = ['iax.conf','meetme.conf','users.conf','extensions.conf']
    x = 0
    while x < 4 :
        fileName = dossierS + '/' + maliste[x]
        s.send(fileName.encode())
        file = dossier + '/' + maliste[x]
        print(file)
        r = s.recv(999999999)
        print(r)
        d = decrypt(r)
        print(d)
        with open(file,'a') as _file:
            _file.write(d)
            _file.close()
        x += 1
    s.close()
Auriez-vous une piste pour régler ce problème?
Merci!