public static void client ( ) {
System.out.println("Client");
// ouvrir une socket sur un port / localhost
try
{
s = new Socket("localhost",62525);
out = new ObjectOutputStream(s.getOutputStream());
createMainForm(s,"Client");
}
catch(Exception e)
{
System.out.println("Erreur creation socket");
}
}
public static void serveur ( ) {
System.out.println("Serveur");
// ouvrir une socket sur un port en tant que serveur
try
{
srv = new ServerSocket(62525); //instanci la socket sur le port
s = srv.accept(); //bloquant
//Cree la forme principal
createMainForm(s,"Serveur");
}
catch(IOException e)
{
System.out.println(e.getMessage());
System.exit(0);
}
catch(Exception e)
{
System.out.println("Erreur creation socket et accept");
System.exit(0);
}
}
private static void createMainForm(Socket s, String title)
{
// creation d'un nouveau dessin
a = new Dessin(s);
...
}
##############################
Classe Dessin
##############################
public Dessin(Socket s)
{
formes = new ArrayList();
this.s = s;
try
{
in = new ObjectInputStream(s.getInputStream());
out = new ObjectOutputStream(s.getOutputStream());
}
...
}
public synchronized void readSocket()
{
Object f;
try {
f = in.readObject();
//f = in.readUnshared();
System.out.println("Flag de l'objet recu : "+ ((Forme)f).getAdd());
if(((Forme)f).getAdd())
{
this.addForme((Forme)f);
System.out.println("Ajout de la forme recu");
}
else //flag de suppression de forme
{
this.deleteForme((Forme)f);
System.out.println("Effacement de la forme recu");
}
System.out.println("Objet recu : "+f.toString());
}
catch(Exception e)
{
System.out.println("Erreur dans la reception des donnees : " + e.getMessage());
}
}