abdim86
20Messages postés
28 février 2008Date d'inscription
17 mars 2010Dernière intervention
20 déc. 2009 à 15:42
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 .
qlq 'un px trouver la solution pour que pon programme fait les quatre operation indiqué dans la classe client.
******************************** 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);
}
}
}
******************************** 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();
}
}
mais STP si possible je veux ce programme dans une interface graphique....