Ethernet : UDP.available()
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.
UDP.available()
None
the number of bytes available to read
#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)
;
}
}
Stream utility class.
UDP.available()
None
the number of bytes available to read
none
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.