probleme de transfert de tableau de byte [java] - Java - Programmation
MarshPosté le 11-03-2010 à 19:01:45
Bonjour ! Je suis en train d'essayer d'envoyer des fichiers d'une machine a une autre par transfert de datagram paquet UDP. Pour etre sur que ce que j'envoi et ce que je recoi est bien la meme chose au byte pret, j'affiche ce que j'envoi juste apres l'avoir envoyé, et j'affiche ce que j'écris juste aprés l'avoir écris (a chaque fois j'affiche les bytes) : voici le code :
// Pour l'envoi, ce que j'envoi correspondant a tab[part - 1] : System.out.println("Envoi du data de la partie " + part + " du fichier " + nameFile + ": \n" + Arrays.toString(tab[part - 1]));
// Pour la reception, ce que je recoi correspond a data : System.out.println("Reception de la partie " + p + " du fichier " + nameFile + " : \n" + Arrays.toString(data));
Voici les resulats :
Envoi de la partie 1 de taille 2055 du fichier ecran.png a la machine localhost/127.0.0.1:20020 : [-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 48, 0, 0, 0, 48, 8, 6, 0, 0, 0, 87, 2, -7, -121, 0, 0, 0, 6, 98, 75, 71, 68, 0, -1, 0 ... ]
Apres etude des ces 2 lignes manifestement semblables mais avec quelques differences, il semble que ce soit avec un nom negatif que cela pose un pb, a savoir que pour un nombre negatif envoyé, je recoi -17, -65, -67 . Quelqu'un saurait me dire d'ou cela peut venir, et comment resoudre ce probleme ? Bien cordialement,
Marsh Posté le 11-03-2010 à 19:01:45
Bonjour !
Je suis en train d'essayer d'envoyer des fichiers d'une machine a une autre par transfert de datagram paquet UDP.
Pour etre sur que ce que j'envoi et ce que je recoi est bien la meme chose au byte pret, j'affiche ce que j'envoi juste apres l'avoir envoyé, et j'affiche ce que j'écris juste aprés l'avoir écris (a chaque fois j'affiche les bytes) : voici le code :
// Pour l'envoi, ce que j'envoi correspondant a tab[part - 1] :
System.out.println("Envoi du data de la partie " + part + " du fichier " + nameFile + ": \n" + Arrays.toString(tab[part - 1]));
// Pour la reception, ce que je recoi correspond a data :
System.out.println("Reception de la partie " + p + " du fichier " + nameFile + " : \n" + Arrays.toString(data));
Voici les resulats :
Envoi de la partie 1 de taille 2055 du fichier ecran.png a la machine localhost/127.0.0.1:20020 :
[-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 48, 0, 0, 0, 48, 8, 6, 0, 0, 0, 87, 2, -7, -121, 0, 0, 0, 6, 98, 75, 71, 68, 0, -1, 0 ... ]
Reception de la partie 1 du fichier ecran.png :
[-17, -65, -67, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 48, 0, 0, 0, 48, 8, 6, 0, 0, 0, 87, 2, -17, -65, -67, 0, 0, 0, 6, 98, 75, 71, 68, 0, -17, -65, -67, 0 ...]
Apres etude des ces 2 lignes manifestement semblables mais avec quelques differences, il semble que ce soit avec un nom negatif que cela pose un pb, a savoir que pour un nombre negatif envoyé, je recoi -17, -65, -67 .
Quelqu'un saurait me dire d'ou cela peut venir, et comment resoudre ce probleme ?
Bien cordialement,