创客百科

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

用户工具

站点工具


en:arduino:libraries:ethernetudpavailable

差别

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

到此差别页面的链接

en:arduino:libraries:ethernetudpavailable [2016/12/25 22:15]
en:arduino:libraries:ethernetudpavailable [2016/12/25 22:15] (当前版本)
行 1: 行 1:
 +[[en:​arduino:​libraries:​ethernet|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 =====
 +<code cpp>
 +#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);​
 + }
 +}
 +</​code>​
 +
 +[[en:​arduino:​libraries|Reference Home]]
en/arduino/libraries/ethernetudpavailable.txt · 最后更改: 2016/12/25 22:15 (外部编辑)