Il est possible, par l'intermédiaire du réseau, d'échanger des informations qui pourront être utilisées, par exemple, pour l'affichage "d'objets graphiques".
Saisissez, analysez et testez ces programmes
Le serveur :
import processing.net.*;
Server s;
void setup(){
s = new Server(this,6500);
}
void draw(){
Client c = s.available();
if (c!=null){
String coord=c.readString();
s.write(coord);
}
}
Le client :
import processing.net.*;
Client c;
void setup(){
size(400,400);
background(255);
c = new Client(this, "localhost", 6500);
}
void draw(){
if (c.available()>0){
String coord=c.readString();
String[] tabCoord=split(coord,";");
nouveauCarre(int(tabCoord[0]),int(tabCoord[1]));
}
}
void nouveauCarre(int coordX,int coordY){
int r,v,b,t;
r=int(random(255));
v=int(random(255));
b=int(random(255));
t=int(100+random(100));
fill(r,v,b,t);
rect(coordX-10,coordY-10, 20,20);
}
void mousePressed(){
nouveauCarre(mouseX,mouseY);
c.write(mouseX+";"+mouseY);
}
ATTENTION de lancer le programme côté serveur avant de le lancer côté client.
Il est nécessaire de lancer un serveur et, au moins, 2 clients (vous pouvez, si vous le désirez, lancer plus de clients).
Pour comprendre cet exemple, il est nécessaire d'avoir des connaissances en matière de manipulation des chaînes de caractères, une série d'activités est consacrée à ce sujet ici.
L'exemple ci-dessus n'est pas très complexe, il faut juste comprendre que le serveur joue un rôle d'intermédiaire entre les clients : le serveur reçoit les coordonnées en provenance d'un client et les redistribue à tous les clients connectés.
En vous basant sur l'exemple traité dans le "À faire vous-même 2.9" de la série d'activités "Animations avec Processing" (voir ici), créez une application (client et serveur), permettant à un utilisateur de dessiner dans la fenêtre Processing à l'aide de la souris. Tous les clients connectés au serveur devront voir le dessin "en temps réel".