Salut tout le monde;

lorsque j'execute le code client et le code serveur sur la même machine je recois le fichier, mais dans un reseau local , le fichier reçu ne s'ouvre pas (je ne reçois pas tous les paquets de ce fichier), quelqu'un peut m'aider?.

merci.


voici le code du serveur,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
public class ServeurTR {
 
  public static void main(String[] args) throws IOException, AWTException{
 
    ServerSocket servsock = new ServerSocket(8080); 
    while (true) {
      Socket sock = servsock.accept();
  	  File file = new File("c:\\image.gif");
  	 byte[] mybytearray = new byte[(int) file.length()];
      BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
      PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())),true);
      out.println(mybytearray.length);
      out.flush();
      OutputStream os = sock.getOutputStream();
      bis.read(mybytearray, 0, mybytearray.length);
      os.write(mybytearray, 0, mybytearray.length);
      os.flush(); 
      bis.close();       
      os.close();
      sock.close();
    }
  }
}

voici le code du client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
public class ClientTR{
 
public static void main(String[] argv) throws Exception {
 
   Socket sock = new Socket("127.0.0.1", 8080);
   BufferedReader input = new BufferedReader(new InputStreamReader
 
(sock.getInputStream()));
    InputStream is = sock.getInputStream();
    FileOutputStream fos = new FileOutputStream("image.gif");
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    int taille = Integer.parseInt(input.readLine());
    byte[] mybytearray = new byte[taille];
    is.read(mybytearray, 0, taille);     
   bos.write(mybytearray, 0, taille); 
   bos.flush();
   is.close();
   bos.close();
   input.close();	
   sock.close();
  }
}