用户工具

站点工具


reference:library:ethernetudpparsepacket

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

reference:library:ethernetudpparsepacket [2017/04/07 10:03] (当前版本)
行 1: 行 1:
 +[[zh:​reference:​librariy:​ethernet|Ethernet]] :UDP协议类
 +====== parsePacket() ======
  
 +===== 描述 =====
 +
 +检查是否有一个UDP包需要被读取,若有则报告它的大小。 parsePacket() 必须在用UDP.read()读取缓存之前被使用。
 +===== 语法 =====
 +
 +UDP.parsePacket();​
 +===== 参数 =====
 +
 +
 +===== 返回值 =====
 +
 +收到的UDP数据包的大小(以int型返回)
 +===== 例子 =====
 +<code cpp>
 +#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);
 +}
 +
 +</​code>​
 +
 +
 +[[zh:​reference:​librariy:​main|返回主菜单]]
reference/library/ethernetudpparsepacket.txt · 最后更改: 2017/04/07 10:03 (外部编辑)