UDP.read()

Descripción

Lee datos UDP desde el búfer especificado. Si no se dan argumentos, devolverá el siguiente carácter del buffer.

Esta función sólo se puede llamar con éxito después de 
UDP.parsePacket().

Sintaxis

UDP.read();
UDP.read(packetBuffer, MaxSize); 

Parámetros

packetBuffer: buffer to hold incoming packets (char)
MaxSize: maximum size of the buffer (int)

Retornos
char : returns the characters in the buffer

Ejemplo


#include <SPI.h>        
#include <Ethernet.h>
#include <EthernetUdp.h>
// Introduzca una dirección MAC y la dirección IP para el dispositivo de abajo.
// La dirección IP será dependiente de la red local:
byte mac[ ] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 177);
unsigned int localPort  = 8888;      // puerto local a la escuha
// Una instancia EthernetUDP que vamos a enviar y recibir paquetes a través de UDP
EthernetUDP Udp;

char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // buffer para mantener lo paquetes de entrada,

void setup() {
  // inicia Ethernet y UDP:
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);

}

void loop() {

  int packetSize = Udp.parsePacket();
  if(packetSize)
  {
    Serial.print("Recibido un paquete de tamaño ");
    Serial.println(packetSize);
    Serial.print("Desde ");
    IPAddress remote = Udp.remoteIP();
    for (int i =0; i < 4; i++)
    {
      Serial.print(remote[i], DEC);
      if (< 3)
      {
        Serial.print(".");
      }
    }
    Serial.print(", Puerto ");
    Serial.println(Udp.remotePort());

    // lee un paque de packetBufffer
    Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contenido:");
    Serial.println(packetBuffer);
}
}

No hay comentarios:

Publicar un comentario