Salut j'essaie de créer une connection entre 1 client et 1 serveur mais j'obtiens un connexion reset on ecclipse m'indique que le problème vient de l'utilise de readLine() :s car la je voudrais que le serveur m'affiche etape 1 et le message que j'ai envoyé la dès que je rentre le mot de passe au niveau client il ne se passe rien voici le code :
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 import java.io.*; import java.net.*; public class Serveur { public static void main (String args[]) throws IOException { int PORT=2000; ServerSocket sersoc =new ServerSocket(PORT); System.out.println("Server activé sur le port"+PORT); while(true) { Socket soc=sersoc.accept(); String ligne_envoie="fichierararea.dat"; InputStream flux=soc.getInputStream(); BufferedReader entree=new BufferedReader(new InputStreamReader(flux)); //OutputStream renvoie=soc.getOutputStream(); //OutputStreamWriter renvoie1=new OutputStreamWriter(renvoie); String message=entree.readLine(); System.out.println("etape 1"+message); /*if (message=="polo") { System.out.println("etap 2"); renvoie1.write(ligne_envoie); renvoie1.flush(); } else System.out.println("rien"); */ } } }
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
49
50
51
52
53
54
55
56
57
58
59
60 import java.io.*; import java.net.*; public class Fichier { static String adresse="127.0.0.1"; static int port =2000; public static void main (String args[]) throws IOException { Socket soc=new Socket(adresse,port); OutputStream flux=soc.getOutputStream(); OutputStreamWriter pass=new OutputStreamWriter(flux); String ligne_lue; String envoie = null; /* InputStream fluxi=soc.getInputStream(); BufferedReader entre=new BufferedReader(new InputStreamReader(fluxi));*/ System.out.println("Veuillez entrer le mot de passe"); ligne_lue=Clavier.lireString(); pass.write(ligne_lue); pass.flush(); /*envoie=entre.readLine(); System.out.println("On vous a renvoyé ce nom"+envoie);*/ //System.out.println("Entrez le nom du fichier a modifier"); //envoie=Clavier.lireString(); /*DataOutputStream sortie=new DataOutputStream( new BufferedOutputStream(new FileOutputStream(envoie))); int n=1; while(n!=0) { System.out.println("Entrez un nombre"); n=Clavier.lireInt(); if(n!=0)sortie.writeInt(n); } sortie.close(); System.out.println("Le fichier est fermé"); System.out.println("Allons lire le fichier"); DataInputStream entree=new DataInputStream(new BufferedInputStream(new FileInputStream(envoie))); boolean eof=false; try{ while(!eof) { n=entree.readInt(); if(!eof)System.out.println(n); } } catch(EOFException e) { eof=true; } entree.close(); System.out.println("fin de lecture");*/ } }Il s'agit de l'authentification auprès d'un serveur qui va renvoyer le nom d'un fichier afin que le client (fichier) puisse l'utiliser ,j'ai commenté le reste du cod e vu qu'il était bloqué histoire de pas trop se perdre et Clavier permet la lecture au clavier need help svp ^^
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 import java.io.*; public class Clavier { public static String lireString() { String ligne_lue=null; try { InputStreamReader lecteur=new InputStreamReader(System.in); BufferedReader entree=new BufferedReader(lecteur); ligne_lue=entree.readLine(); } catch(IOException err) { System.exit(0); } return ligne_lue; } public static float lireFloat() { float x=0; try { String ligne_lue=lireString(); x=Float.parseFloat(ligne_lue); } catch(NumberFormatException err) { System.out.println("***Erreur de donnee"); System.exit(0); } return x; } public static double lireDouble() { double x=0; try { String ligne_lue=lireString(); x=Double.parseDouble(ligne_lue); } catch(NumberFormatException err) { System.out.println("***Erreur de donnee***"); System.exit(0); } return x; } public static int lireInt() { int n=0; try { String ligne_lue=lireString(); n=Integer.parseInt(ligne_lue); } catch(NumberFormatException err) { System.out.println("***Erreur de donnee***"); System.exit(0); } return n; } public static void main(String[] args) { System.out.println("entre un flot"); float x; x=Clavier.lireFloat(); System.out.println("merci pour"+x); System.out.println("entre un int"); int n; n=Clavier.lireInt(); System.out.println("merci pour "+n); System.out.println("entre une chaine"); String l; l=Clavier.lireString(); System.out.println("merci pour"+l); } }
Partager