quand j'envoi un message volumineux(fichier texte),il est envoyé mais le problème est que le code arrivé à destination n'est pas complet.ilya meme pas le 1/2 du code.sachant que ma socket qui envoi le code est celle là :
et du coté de réception :Code:
1
2
3
4 while 1: data = conn.recv(1024) if not data: return "KO" conn.send(BCLinuxTestPage().printOutput())
Code:
1
2
3
4
5
6
7 try: socket.connect((TCP_IP, TCP_PORT)) socket.send(MESSAGE) data = socket.recv(BUFFER_SIZE) socket.close() print data
j'ai essayé de mettre la reception en boucle comme ça
ou comme çaCode:
1
2
3
4
5
6
7
8
9 try: socket.connect((TCP_IP, TCP_PORT)) socket.send(MESSAGE) while 1: data = socket.recv(BUFFER_SIZE) socket.close() print data except: print ERROR_MESSAGE
ça ne marche pas non plus.une erreur survient me disantCode:
1
2
3
4
5
6
7
8
9 try: socket.connect((TCP_IP, TCP_PORT)) socket.send(MESSAGE) while 1: data = socket.recv(BUFFER_SIZE) socket.close() print data except: print ERROR_MESSAGE
Code:error: [Errno 104] Connection reset by peer
alors j'ai essayé d'augmenter le buffer size et j'ai mis 5000 à l'envoi ainsi qu'à la réception.
alors ici le fichier tout entier est arrivé mais le problème est qu'il m'affiche une erreur:
en plus c'est pas une solution car si le buffer est < à la taille du texte alors le fichier soit incomplet sinon mon fichier sera surchargé(à la fin de mon fichier il lui ajoute à la fin une copie de l'entete ou quelques chose comme ça.Code:broken pipe
moi je veux seulement recevoir mon fichier entièrement.de préférence dans une boucle à fin que je ne modifie pas le buffer size