Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]
Librairie Ethernet : Classe EthernetUDP

Constructeur EthernetUDP


Description

  • Cette classe permet de recevoir et d'envoyer des messages UDP sur le réseau (UDP=User Datagram Protocol). Ce protocole est plus léger que le protocole TCP et permet l'envoi de données textes via le réseau.
  • "Le rôle de ce protocole est de permettre la transmission de données de manière très simple entre deux entités, chacune étant définie par une adresse IP et un numéro de port. Contrairement au protocole TCP, il fonctionne sans négociation" (Source et détails : http://fr.wikipedia.org/wiki/User_Datagram_Protocol)

Syntaxe


EthernetUDP Udp;

Paramètres

Aucun.

Valeur renvoyée

Aucune

Exemple



#include <SPI.h>      
#include <Ethernet.h>
#include <EthernetUdp.h>      


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress ip(192, 168, 1, 177); // ip du shield Ethernet

unsigned int localPort = 8888;      //port local à écouter

// tableaux de caractères pour recevoir des données
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //caractères reçus
char  ReplyBuffer[] = "acknowledged";       // caractères à envoyer

EthernetUDP Udp;

void setup() {

  Ethernet.begin(mac,ip); // initialisation du Shield Ethernet

  Udp.begin(localPort); // initialisation UDP

  Serial.begin(9600);
}

void loop() {
  //si des données sont disponibles, lire le paquet
  int packetSize = Udp.parsePacket();
  if(packetSize)
  {
    Serial.print("Received packet of size ");
    Serial.println(packetSize);
    Serial.print("From ");
    IPAddress remote = Udp.remoteIP();
    for (int i =0; i < 4; i++)
    {
      Serial.print(remote[i], DEC);
      if (i < 3)
      {
        Serial.print(".");
      }
    }
    Serial.print(", port ");
    Serial.println(Udp.remotePort());

    //lit les données dans le tableau de réception
    Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contents:");
    Serial.println(packetBuffer);

    // envoie une réponse au port et adresse qui l'a envoyé
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
    Udp.write(ReplyBuffer);
    Udp.endPacket();
  }
  delay(10);
}

 

Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.

Cette page est une traduction de la page originale suivante : http://arduino.cc/en/Reference/ServerConstructor Server()