je souhaite tranferer different screenshot d'un pc portable sous ubuntu vers un autre pc portable lui aussi sous Ubuntu.Les deux machines sont en little endian.
Lorsque je test un transfert en local je n'ai aucun problème, par contre lorsque je test via le reseau, le programme me renvoit très vite des poids érronnés pour les screenshots, donc le transfert ne se fait pas correctement.
Je pense qu'il faut utiliser les fonctions htonl et ntohl.J'ai fait quelques essais sans succés.
Peux tu uploader le fichier avant et après envoi ?
Je ne suis pas sur que ce soit un problème d'endianness (au moins au niveau du transfert) car tu envoies un flux de char. Donc normalement tu devrais obtenir le même flux à la sortie.
Non, le soucis vient de ton "r" dans le fopen -> met "rb". (et j'ai vu que tu as bien mis "wb" et pas "w")
En effet, sous Windows, si tu es en mode "r" (mode texte) dès qu'il liras un 0x0D, il partira du principe qu'il y a un 0x0A après donc ignorera un octet.
Salut Fvirtman merci pour ton aide, malheureusement j'avais déjà pensé a modifier en "rb" le problème persiste.
Ce qui est bizard c'est que la premiere image s'envoies toujours correctement (le poid est le bon) , l'erreur survient sur le second ou troisième envoies.
Voila ce que me sort le programme :
Filename = 1.jpeg
i = 0
j = 1
le screenshot pèse : 263452 octets
Reception du screenshot success !!!!
Filename = 2.jpeg
i = 1
j = 2
le screenshot pèse : -6653627468721892084 octets
Reception du screenshot success !!!!
Filename = 3.jpeg
i = 2
j = 3
le screenshot pèse : -5365861226395288907 octets
les poids sont irréel !!
Que veux tu dire par :
[quote]Peux tu uploader le fichier avant et après envoi ?[/quote]
il y a peut être une piste a creuser.
Merci a toi
edit :
En effet, sous Windows, si tu es en mode "r" (mode texte) dès qu'il liras un 0x0D, il partira du principe qu'il y a un 0x0A après donc ignorera un octet
Je suis sous linux ubuntu
- Edité par Code Rom 16 juillet 2018 à 14:19:49
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
Il y des anomalies dès le début du code. D'abord, le sizeof ligne 3, pourquoi un type pointeur alors qu'on alloue apparemment de la RAM pour des caractères? Lignes 10 et 11, pourquoi ne pas tout faire dans le sprintf? Lignes 13 à 17, ce test ne rime à rien, l'éventuel dépassement a déjà eu lieu. Ligne 21, manquait le "b" comme déjà signalé. Lignes 22-26, il faudrait afficher la cause de l'erreur (avec fonction perror par exemple). Ligne 33, devrait afficher un long, pas un int (voir manuel de ftell). Ligne 35, envoi direct d'une donnée binaire, ça pue. Il faudrait gérer les problèmes d'endianess et de taille de type. Ou alors la solution simple, sérialiser en ASCII pour envoyer. Ligne 44, et la gestion des erreurs de fread alors? ...
OKay alors déjà vous pourriez être plus courtois car vos remaque porte sur des erreurs minime, le "ça pue" de votre texte me fait dire que vous avait la rage on sais pas trop pourquoi.De plus vous n'apportez aucunes solutions juste de la rage inutile, merci la prochaine fois d'être plus aimable envers moi.....
Mais reprenons puisqu'il le faut .........
"D'abord, le sizeof ligne 3, pourquoi un type pointeur alors qu'on alloue apparemment de la RAM pour des caractères?"
Je suis d'accord c'est une erreur qui est déjà corrigé je ne vous ai pas attendu.
"Lignes 10 et 11, pourquoi ne pas tout faire dans le sprintf?"
Est ce que ça change vraiment le smilblick....je ne pense pas.....
"Lignes 13 à 17, ce test ne rime à rien, l'éventuel dépassement a déjà eu lieu."
Certes, je suis autodidacte et pas du tout un programmeur expérimenté il m'arrive de faire encore des erreurs.
"Ligne 21, manquait le "b" comme déjà signalé."
Déjà corrigé il ya bien longtemps....cf mon avant dernier post......la rage vous aveugle ?
"Lignes 22-26, il faudrait afficher la cause de l'erreur (avec fonction perror par exemple)."
Enfin quelque chose de constructif, je vous en remercie, je note ça et je ferais les test necessaire, merci a vous.
"Ligne 33, devrait afficher un long, pas un int (voir manuel de ftell)."
Minuscule erreur de ma part qui a etait aussi corrigé il y a bien longtemps.
"Ligne 35, envoi direct d'une donnée binaire, ça pue. Il faudrait gérer les problèmes"
Un peu de respect s'il vous plais.......Quelles sont vos propositions car pour moi l'envoies est correct, je vous le redis je ne suis pas expérimenté et autodidacte j'ai encore beaucoup de chose a apprendre.
"Ligne 44, et la gestion des erreurs de fread alors?"
Oui un oublie de ma part, mais encore une fois ça ne change pas le sujet du problème.
Alors s'il vous plais montrez un peu plus de politesse a mon egard et essayez s'il vous plais d'apporter des solutions au problème posé et non pas de faire le compilateur sur patte soulignant la moindre erreur voir même warning insignifiant, que cherchez vous a prouver ......
- Edité par Code Rom 17 juillet 2018 à 1:23:34
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
OKay alors déjà vous pourriez être plus courtois car vos remaque porte sur des erreurs minime, le "ça pue" de votre texte me fait dire que vous avait la rage on sais pas trop pourquoi.
Merci a vous tous pour votre aide, sans vous je n'aurais pas trouvé.
- Edité par Code Rom 18 juillet 2018 à 2:28:11
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
problème endianness lors de transfert d'image.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
L'IA se détecte par des fautes d'orthographe on la bloque en lui répondant des choses sans sens.