这里会显示出您选择的修订版和当前版本之间的差别。
| — |
en:arduino:libraries:ethernetudpparsepacket [2016/12/25 22:15] (当前版本) |
||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | [[en:arduino:libraries:ethernet|Ethernet]]:UDP.parsePacket() | ||
| + | ====== parsePacket() ====== | ||
| + | ===== Description ===== | ||
| + | |||
| + | Checks for the presence of a UDP packet, and reports the size. parsePacket() must be called before reading the buffer with UDP.read(). | ||
| + | ===== Syntax ===== | ||
| + | |||
| + | UDP.parsePacket(); | ||
| + | ===== Parameters ===== | ||
| + | |||
| + | None | ||
| + | ===== Returns ===== | ||
| + | |||
| + | int: the size of a received UDP packet | ||
| + | ===== Example ===== | ||
| + | <code cpp> | ||
| + | #include <SPI.h> // needed for Arduino versions later than 0018 | ||
| + | #include <Ethernet.h> | ||
| + | #include <EthernetUdp.h> // UDP library from: bjoern@cs.stanford.edu 12/30/2008 | ||
| + | |||
| + | |||
| + | // 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; | ||
| + | |||
| + | void setup() { | ||
| + | // start the Ethernet and UDP: | ||
| + | Ethernet.begin(mac,ip); | ||
| + | Udp.begin(localPort); | ||
| + | |||
| + | Serial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // if there's data available, read a packet | ||
| + | int packetSize = Udp.parsePacket(); | ||
| + | if(packetSize) | ||
| + | { | ||
| + | Serial.print("Received packet of size "); | ||
| + | Serial.println(packetSize); | ||
| + | } | ||
| + | delay(10); | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | |||
| + | [[en:arduino:libraries|Reference Home]] | ||