En gros, voici le code :
Côté serveur:
Côté 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 //Attente des clients try{ //Attendre les clients services_socket = serveur_socket.accept(); System.out.println("Un client souhaite envoyer un fichier..."); } catch(IOException ex){ System.err.println(ex); } //Récupération du nom du fichier try{ //Récupérer le flux de données BufferedReader flux_entree = new BufferedReader( new InputStreamReader( services_socket.getInputStream() ) ); donnees_recues = flux_entree.readLine(); System.out.println("Données reçues : " + donnees_recues); } catch(IOException ex){ System.err.println(ex); } try{ //Création du fichier flux_ecriture = new BufferedWriter( new FileWriter(donnees_recues), 1); } catch(IOException ex){ System.err.println(ex); } //Envoi de la confirmation au client try{ //Envoyer le flux de données String donnees_envoyees = "OK"; System.out.println("Envoi des données : " + donnees_envoyees); DataOutputStream flux_sortie = new DataOutputStream( services_socket.getOutputStream() ); System.out.println("+++"); flux_sortie.writeBytes(donnees_envoyees); System.out.println("Données envoyées : " + donnees_envoyees); } catch(IOException ex){ System.err.println(ex); }
Je comprends pas pourquoi ça bloque...
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 //Creation de la socket client Socket client_socket = null; try{ //Création de la socket client client_socket = new Socket("192.168.0.101", 5555); } catch(IOException ex){ System.err.println(ex); } //Envoi du nom du fichier try{ String donnees_envoyees = name; //Création du flux de sortie DataOutputStream flux_sortie = new DataOutputStream( client_socket.getOutputStream() ); flux_sortie.writeBytes(donnees_envoyees); System.out.println("Données envoyées : " + donnees_envoyees); } catch(IOException ex){ System.err.println(ex); } //Récupération de la réponse du serveur try{ //Récupérer le flux de données String donnees_recues = null; //Création du flux d'entrée BufferedReader flux_entree = new BufferedReader( new InputStreamReader( client_socket.getInputStream() ) ); donnees_recues = flux_entree.readLine(); System.out.println("Données reçues : " + donnees_recues); } catch(IOException ex){ System.err.println(ex); }
Partager