pb de récupérer un objet avec socket en java
salut,
je suis entrain d'écrire en java une application qui permet de editer un fichier sous linix debian 4 etch ,j'ai un brobleme pour envoyer le fichier du client vers le serveur je veut envoyer le fichier par objet ( objet au lieu de byte).
donc le probleme est:
au niveux client:no problem
au niveux serveur: mon programme bloque a la ligne :fileReceiver=((File)in.readObject()) sans affiche acun erreur et si je veut recuperer la taille de ce fichier je peut pas????
voila mon costrecteur de serveur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| ObjectInputStream in;
ObjectOutputStream out;
File fileReceiver;
int i;
public Connexion(Socket SsAccept) {
try {
out =new ObjectOutputStre(SsAccept.getOutputStream());
in = new ObjectInputStream(SsAccept.getInputStream());
}
catch(IOException e) {
System.err.println("Connexion: " + e);
try { SsAccept.close();} catch(IOException e2) {}
return;
}
this.SsAccept = SsAccept;
this.start();
}
public void run() {
try {
fileReceiver=new File("mon chemin");
RandomAccessFile ff=new RandomAccessFile(fileReceiver,"rw");
try {
fileReceiver=((File)in.readObject());
System.out.println("longeur de fichier recever est:"+fileReceiver.length());
FileInputStream fluxEntrant = new FileInputStream(fileReceiver);
BufferedReader lecture = new BufferedReader(
new InputStreamReader(fluxEntrant));
int ligne=0;
while((ligne =lecture.read())!= -1) {
System.out.println("ligne"+ligne);
ff.write(ligne);
}
///////////////////////////////////////////////////////////////
} catch(ClassNotFoundException cnfex) {}
//out.writeObject("END");
in.close();
out.close();
}
catch(IOException e) {
System.err.println("Connexion:"+ e.toString());
}
finally {
System.out.println("Connexion: connexion terminée");
try {SsAccept.close();} catch(IOException e) {System.out.println("testttttttttttt"+e.toString());}
}
}
} |
mais en local marche ??? mais quand il s'agit de faire du distrbué il bloque ???
merci