Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Processing – Librairie Network : L’exemple sharedCanvas en local :

Électroniquemis à jour le 22 avril 2023

La librairie Network de Processing est un outil puissant qui permet aux développeurs de créer des applications réseau. Elle offre une variété de fonctionnalités qui peuvent être utilisées pour créer des applications réseau complexes et intéressantes. Dans cet article, nous allons examiner l’exemple sharedCanvas en local, qui est une fonctionnalité de la librairie Network qui permet aux développeurs de créer des applications réseau qui partagent des données entre plusieurs utilisateurs. Nous verrons comment cette fonctionnalité peut être utilisée pour créer des applications réseau intéressantes et comment elle peut être mise en œuvre en local.

Processing – Librairie Network : L’exemple sharedCanvas en local :

Explication

  • cette page reprend le double programme « client/serveur » fournit en exemple dans Processing et qui permet de refléter le mouvement de la souris dans la fenêtre serveur en fonction du mouvement de la souris dans la fenêtre client.
  • l’intérêt ici est de faire la procédure en local, utile en phase de mise au point.

Ressources utiles

Fonctionnement :

  • On lance d’abord le programme serveur (si on lance le client en 1er, on a un message d’erreur car le client ne trouve pas le serveur…)
  • puis on lance le programme client (qui se connecte au serveur..)
  • Les mouvements de la souris dans la fenêtre client se répercute dans la fenêtre Serveur.
  • L’utilisation de l’adresse 127.0.0.1 permet de développer une application « serveur/client » en local ce qui est très intéressant en phase de programmation et de mise au point.
  • Ensuite, on pourra déployer le double programme dans un vrai réseau.

Le programme Processing « client »

Ce programme est fourni avec le logiciel Processing et se trouve dans Examples > Libraries > Network > SharedCanvasClient

/**
 * Shared Drawing Canvas (Client)
 * by Alexander R. Galloway.
 *
 * The Processing Client class is instantiated by specifying a remote
 * address and port number to which the socket connection should be made.
 * Once the connection is made, the client may read (or write) data to the server.
 * Before running this program, start the Shared Drawing Canvas (Server) program.
 */

import processing.net.*;

Client c;
String input;
int data[];

ProcessingProcessing – Traitement d’image : Filtre Sobel 2D (détection de contours)

void setup()
{
  size(450, 255);
  background(204);
  stroke(0);
  frameRate(5); // Slow it down a little
  // Connect to the server’s IP address and port
  c = new Client(this, « 127.0.0.1 », 12345); // Replace with your server’s IP and port
}

void draw()
{
  if (mousePressed == true) {
    // Draw our line
    stroke(255);
    line(pmouseX, pmouseY, mouseX, mouseY);
    // Send mouse coords to other person
    c.write(pmouseX +  » «  + pmouseY +  » «  + mouseX +  » «  + mouseY + « \n« );
  }
  // Receive data from server
  if (c.available() > 0) {
    input = c.readString();
    input = input.substring(0, input.indexOf(« \n« )); // Only up to the newline
    data = int(split(input, ‘ ‘)); // Split values into an array
    // Draw line using received coords
    stroke(0);
    line(data[0], data[1], data[2], data[3]);
  }
}

Le programme Processing « serveur »

Ce programme est fourni avec le logiciel Processing et se trouve dans Examples > Libraries > Network > SharedCanvasServer

/**
 * Shared Drawing Canvas (Server)
 * by Alexander R. Galloway.
 *
 * A server that shares a drawing canvas between two computers.
 * In order to open a socket connection, a server must select a
 * port on which to listen for incoming clients and through which
 * to communicate. Once the socket is established, a client may
 * connect to the server and send or receive commands and data.
 * Get this program running and then start the Shared Drawing
 * Canvas (Client) program so see how they interact.
 */

import processing.net.*;

Server s;
Client c;
String input;
int data[];

LibrairieOpenCV, librairie C/C++ opensource de traitement d’image.

void setup()
{
  size(450, 255);
  background(204);
  stroke(0);
  frameRate(5); // Slow it down a little
  s = new Server(this, 12345); // Start a simple server on a port
}

void draw()
{
  if (mousePressed == true) {
    // Draw our line
    stroke(255);
    line(pmouseX, pmouseY, mouseX, mouseY);
    // Send mouse coords to other person
    s.write(pmouseX +  » «  + pmouseY +  » «  + mouseX +  » «  + mouseY + « \n« );
  }
  // Receive data from client
  c = s.available();
  if (c != null) {
    input = c.readString();
    input = input.substring(0, input.indexOf(« \n« )); // Only up to the newline
    data = int(split(input, ‘ ‘)); // Split values into an array
    // Draw line using received coords
    stroke(0);
    line(data[0], data[1], data[2], data[3]);
  }
}
 

Voir ici :

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction