Bonjour;
je suis débutant pour les programmes socket, et j'ai réalisé deux programmes client.java et serveur.java
et je veux que ces programmes fait des calcul simple (multiplication, addition ..)
le probleme c'est que le serveur prend en compte que la premiere operation .
Quelqu'un peut trouver la solution pour que pon programme fasse les quatre operation indiqué dans la classe 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
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 ******************************** client.java****************************** import java.io.*; import java.net.*; public class Client { static final int port = 8080; public static void main(String[] args) throws Exception { Socket socket2 = new Socket("localhost", 8080); System.out.println("SOCKET = " + socket2); BufferedReader plec2 = new BufferedReader( new InputStreamReader(socket2.getInputStream()) ); PrintWriter pred2 = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket2.getOutputStream())), true); String str = ""; for (int i = 0; i < 10; i++) { //Addition pred2.println("add"); pred2.println("16"); pred2.println("12"); str = plec2.readLine(); // lecture de l'écho System.out.println("L'addition des deux valeur est : " + str); //Multiplication pred2.println("mul"); pred2.println("5"); pred2.println("9"); // envoi d'un message str = plec2.readLine(); // lecture de l'écho System.out.println("La multiplication des deux valeur est : " + str); // Soustraction pred2.println("sou"); pred2.println("30"); pred2.println("19"); // envoi d'un message str = plec2.readLine(); // lecture de l'écho System.out.println("La soustraction des deux valeur est : " + str); //Devision pred2.println("dev"); pred2.println("90"); pred2.println("10"); // envoi d'un message str = plec2.readLine(); // lecture de l'écho System.out.println("La Devision des deux valeur est : " + str); } } }
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 ******************************** serveur.java****************************** import java.io.*; import java.net.*; public class Serveur { static final int port = 8080; public static void main(String[] args) throws Exception { ServerSocket s = new ServerSocket(port); Socket soc ; BufferedReader plec; PrintWriter pred; //Socket soc1 ; //BufferedReader plec1; //PrintWriter pred1; while (true) { System.out.println("Attente d'appel ... "); soc = s.accept(); plec = new BufferedReader( new InputStreamReader(soc.getInputStream()) ); pred = new PrintWriter( new BufferedWriter( new OutputStreamWriter(soc.getOutputStream())), true); System.out.println("le serveur est en attends de message de client ......... "); String str = plec.readLine(); // lecture du message if (str.equals("END")) break; System.out.println("ECHO = " + str); if (str.equals("add") ) { String a1 = plec.readLine(); String a2 = plec.readLine(); System.out.println("L'opération envoyé par le client est :: la somme "); Integer a11 = (new Integer(a1)); Integer a21 = (new Integer(a2)); int r=a11.intValue() + a21.intValue(); Integer R = new Integer(r); pred.println(R.toString()); } if (str.equals("sou") ) { String a1 = plec.readLine(); String a2 = plec.readLine(); System.out.println("L'opération envoyé par le client est :: la soustraction"); Integer a11 = (new Integer(a1)); Integer a21 = (new Integer(a2)); int r=a11.intValue() - a21.intValue(); Integer R = new Integer(r); pred.println(R.toString()); } if (str.equals("mul") ) { String a1 = plec.readLine(); String a2 = plec.readLine(); System.out.println("L'opération envoyé par le client est :: le produit "); Integer a11 = (new Integer(a1)); Integer a21 = (new Integer(a2)); int r=a11.intValue() * a21.intValue(); Integer R = new Integer(r); pred.println(R.toString()); } if (str.equals("dev") ) { String a1 = plec.readLine(); String a2 = plec.readLine(); System.out.println("L'opération envoyé par le client est :: la Devision "); Integer a11 = (new Integer(a1)); Integer a21 = (new Integer(a2)); int r=a11.intValue()/ a21.intValue(); Integer R = new Integer(r); pred.println(R.toString()); } } plec.close(); pred.close(); soc.close(); } }
![]()
Partager