Académique Documents
Professionnel Documents
Culture Documents
Systèmes Répartis
TP 1: Socket TCP/IP
import java.io.*;
import java.net.*;
import java.util.Scanner;
//réception message
InputStream in = socket.getInputStream();
// Récupération du flux de lecture (flux entrant) manipulant des octets
InputStreamReader reader = new InputStreamReader(in);
// Conversion en flux manipulant des caractères
BufferedReader istream = new BufferedReader(reader);
//conversion en flux manipulant des chaines de caractères
while(true){
//boucle pour échanger plusieurs messages avec le même client
String line = istream.readLine();
//Récupération de la chaine envoyée par le client
System.out.println("S Client a dit :"+line);//affichage
if(line.equals ("fin")){
//condition d'arrêt si la chaine envoyée par le client est "fin"
Page 1
ISTIC TP
Systèmes Répartis
}
}
/*
Classe Client
*/
import java.io.*;
import java.net.*;
import java.util.Scanner;
//envoi message
OutputStream out = socket.getOutputStream();
PrintWriter ostream = new PrintWriter(out);
while(true)
{
Page 2
ISTIC TP
Systèmes Répartis
{socket.close();
System.out.println("Fin connexion!");
break;}
//reception message
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
System.out.println("C Le serveur a dit : " +in.readLine());
}
}catch(IOException e){
}
}
import java.io.Serializable;
/**
*
* @author fahima
*/
public class Voiture implements Serializable{
private String Marque;
private float PrixAchat;
private float PrixVente;
private int km;
Page 3
ISTIC TP
Systèmes Répartis
return Marque;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
ServerSocket ss=new ServerSocket(3000);
while (true)
{
Socket s=ss.accept();
try {
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
Voiture v=(Voiture)ois.readObject();
System.out.println(v.getMarque());
v.setPrixVente((float) (v.getPrixAchat()-v.getKm()*0.15));
Page 4
ISTIC TP
Systèmes Répartis
ObjectOutputStream oos=new
ObjectOutputStream(s.getOutputStream());
oos.writeObject(v);
oos.flush();
s.close();
}
// TODO code application logic here
} catch (IOException ex) {
System.out.println(ex.getStackTrace());
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
try {
Socket s=new Socket(InetAddress.getLocalHost(),3000);
ObjectOutputStream oos=new
ObjectOutputStream(s.getOutputStream());
Scanner sc=new Scanner (System.in);
System.out.println("donner la marque");
String m=sc.nextLine();
System.out.println("donner le prix de vente");
float pa=sc.nextFloat();
System.out.println("donner le kilométrage");
int km=sc.nextInt();
Voiture v=new Voiture (m,pa,km);
oos.writeObject(v);
oos.flush();
ObjectInputStream ois=new
ObjectInputStream(s.getInputStream());
Voiture v1=(Voiture)ois.readObject();
System.out.println("Le prix de vente "+v1.getPrixVente());
s.close();
} catch (ClassNotFoundException ex) {
Page 5
ISTIC TP
Systèmes Répartis
System.out.println(ex.getStackTrace());
}
}
Page 6