Bonjour à tous. Je suis en train de faire un prog qui permet le transfert de plusieurs fichiers à la suite (du serveur au client).
-ça fonctionne NIKEL pour un seul fichier-
J'ai tout tenté, mais je ne vois pas comment faire pour envoyer (par exemple) les 5 fichiers d'un dossier précis. (et surtout comment les recevoirs)
J'ai tenté pas mal de trucs, mais à chaque fois j'ai une erreur de type : "java.lang.NullPointerException" du coté client, et "Erreur : java.net.SocketException: Socket is closed".
Voici mon code du coté serveur :
Que rajouter pour pouvoir tranférer plusieurs fichiers à la suite ???
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 public class Serveur { protected static final int PORT=8086; static ServerSocket ecoute; static Socket ss; private static int e=0; static String type; public Serveur() { } public void connect_serv(String fichier) { while (true) // attente en boucle de connexion (bloquant sur ss.accept) { try { ecoute=new ServerSocket(PORT); ss = ecoute.accept(); // un client se connecte, un nouveau thread client est lancé System.out.println("Connexion acceptée\n"); BufferedOutputStream out = new BufferedOutputStream(ss.getOutputStream()); File mon_fichier = new File(fichier); BufferedInputStream flux = new BufferedInputStream(new FileInputStream(mon_fichier)); int tt = flux.available(); byte[] buffer = new byte[10]; int nbr = 0; while ((nbr = flux.read(buffer)) != -1) { out.write(buffer, 0, nbr); } System.out.println("Fin du transfert de fichier"); flux.close(); out.close(); } catch (Exception e){ System.out.println("Erreur : " + e); System.exit(0);} } }
Merci beaucoup bcp bcp.
Partager