创客百科

姿势共享,有节操无门槛参与的创客百科,创客动力之源 \ (^_^) /

用户工具

站点工具


en:arduino:libraries:ethernetudpavailable

Ethernet : UDP.available()

UDP.available()

Description

Get the number of bytes (characters) available for reading from the buffer. This is data that's already arrived.

This function can only be successfully called after UDP.parsePacket().

available() inherits from the Stream utility class.

Syntax

UDP.available()

Parameters

None

Returns

the number of bytes available to read

Example

#include <SPI.h>        
#include <Ethernet.h>
#include <EthernetUdp.h>
 
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {  
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
 
unsigned int localPort = 8888;      // local port to listen on
 
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
 
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
 
void setup() {
  // start the Ethernet and UDP:
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
 
}
 
void loop() {
 
  int packetSize = Udp.parsePacket();
  if(Udp.available())
  {
    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());
 
    // read the packet into packetBufffer
    Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
 }
}

Reference Home

本页面的其他翻译:
en/arduino/libraries/ethernetudpavailable.txt · 最后更改: 2016/12/25 22:15 (外部编辑)