Ethernet :UDP协议类
检查是否有一个UDP包需要被读取,若有则报告它的大小。 parsePacket() 必须在用UDP.read()读取缓存之前被使用。
UDP.parsePacket();
无
收到的UDP数据包的大小(以int型返回)
#include <SPI.h> //Arduino IDE版本需要比0018高 #include <Ethernet.h> #include <EthernetUdp.h> //UDP库来源:bjoern@cs.stanford.edu 12/30/2008 //下面为你的控制器输入MAC地址和IP地址。 // IP地址将依赖于你的本地网络设定: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 1, 177); unsigned int localPort = 8888; //所侦听的本地端口 //实例化EthernetUDP,使我们可以发送和接收UDP数据包 EthernetUDP Udp; void setup(){ //启动以太网和UDP Ethernet.begin(mac,ip); Udp.begin(localPort); Serial.begin(9600); } void loop(){ //如果有可用数据包,那就读取 int packetSize = Udp.parsePacket(); if(packetSize) { Serial.print("Received packet of size "); Serial.println(packetSize); } delay(10); }