Pb de transfert de données

remy1066 Messages postés 51 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 31 octobre 2006 - 22 janv. 2006 à 02:53
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 9 mars 2006 à 20:55
slt,

j'ai réalisé une petite appli qui permet de transferer un fichier d'une station a une autre. seulement j'ai un pb. ca fonctionne en local (ie sur 1 station en utilisant l'adresse 127.0.0.1) mais pas sur 2 stations differentes.

coté recepteur:

Code:,
----

while (deplacement < tailleDuContenu) {
// System.out.println("recuperation du fichier : " + iteration);
// iteration++;
octetsLus = entree.read(donnees, deplacement, donnees.length - deplacement);
// System.out.println("octetsLus :"+octetsLus);
if (octetsLus == -1) break;
deplacement += octetsLus;
System.out.println(deplacement);
System.out.println("taille "+taille);
}

FileOutputStream fichiersortant = new FileOutputStream(name);
fichiersortant.write(donnees);
fichiersortant.flush();
fichiersortant.close();
et coté sender:


Code:,
----

FileInputStream DataToSend=new FileInputStream(toTransmit);
byte[] FileToSend=new byte[taille];
int ReadOctet=0;
int MovedByte=0;

while(MovedByte<taille){

ReadOctet=DataToSend.read(FileToSend,MovedByte,FileToSend.length-MovedByte);
if (ReadOctet == -1) break;
MovedByte+=ReadOctet;

// envoi du fichier
PrintStream DataSender=new PrintStream(transmission.getOutputStream());
DataSender.write(FileToSend);
System.out.println("\nFichier envoye !!\n");

voila pour le code.
en utilisant 2 machines differentes, je recois bien le fichier envoyé par le sender, mais je n'arrive pas a l'ouvrir correctement comme si il etait altere... je me repete peut etre un peu, mais en local ca marche parfaitement!
je ne comprend vraiment pas ou peut etre le pb...

9 réponses

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
22 janv. 2006 à 16:52
ca ressemble a mon algo ^^ essai d'ouvrir en mode texte le fichier et regarde si qqchose te parait bizar al'interieur

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
remy1066 Messages postés 51 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 31 octobre 2006
25 janv. 2006 à 18:13
merci de ta reponse.



en effet c'est un morceau de code que j'ai trouvé sur le site.

rien ne me parait louche...



j'ai fait un constat.

en faisant des tests, j'ai remarqué que le transfert de gros fichiers
passait, alors que les petits fichiers étaient defectueux. En effet je
suis allé voir le code hexadecimal des fichiers defectueux, et la fin
des fichiers était completé par une serie de 00, et le corps du fichier
n'avait rien a voir avec le corps du fichier original.



je comprends vraiment pas pk le transfert ne passe pas, alors que (je rappelle!!) en local tout fonctionne a merveille.
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
25 janv. 2006 à 18:16
ta essayer de transferer un fichier texte ??

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
remy1066 Messages postés 51 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 31 octobre 2006
25 janv. 2006 à 21:28
oui. idem le fichier est endommagé...

mais il faudrait que je le fasse avec un fichier texte de plusieurs Mo pour voir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
remy1066 Messages postés 51 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 31 octobre 2006
26 janv. 2006 à 12:40
etant donné que le transfert de ùmon fichier se fait mal, je
pensais à faire un traitement sur les données envoyés (ou recues...).
Serait il possible de faire en sorte que, si on lit (ou écrit) un serie
de 5 byte à 00 consecutifs (par exemple), de reprendre la lecture (ou
l'ecriture) des données?



je ne sais pas si c'est vraiment astucieux et surtout si ca marcherait,
mais pour l'instant c'est une idée qui me traverse l'esprit...
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
26 janv. 2006 à 14:49
heu franchement je ne voit pas ce que tu veut dire

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
NEric2711 Messages postés 1 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 6 mars 2006
6 mars 2006 à 11:45
Salut



j'ai le meme probleme que toi est ce que tu as trouvé une solution?



merci
0
remy1066 Messages postés 51 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 31 octobre 2006
9 mars 2006 à 19:46
salut,



maintenant mon appli fonctionne bien.

en fait le pb venait que j'utilisais une seule et meme connexion pour
le transfert incluant les parametres et le fichier à transmettre. je
crois que à la reception , mon fichier était pollué par les paramètres
que j'envoyais juste avant.

j'ai donc séparé les flux en créant une connexion a part entiere pour
le tranfert de parametres, et une autre pour le transfert du fichier.
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
9 mars 2006 à 20:55
c pour ca que je te disais de verifier ton fichier ^^
moi j'avaiseut les meme probleme et j'ai du utiliser deux connection ^^
0
Rejoignez-nous