用户工具

站点工具


reference:library:ethernetudpremoteport

Ethernet:UDP CLASS

UDP.remotePort()

描述

获取远程UDP连接的端口。 这个函数必须调用在 UDP.parsePacket() 之后。

语法

UDP.remotePort();

参数设置

返回

int:与远程主机连接的UDP端口

例子

#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
 
//为你的控制器输入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;
 
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //用以接收包的缓冲区,
 
void setup() {
  //启动以太网和UDP:
  Ethernet.begin(mac,ip);
  Udp.begin(localPort);
 
}
 
void loop() {
 
  int packetSize = Udp.parsePacket();
  if(packetSize)
  {
    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());
 
    //读取数据包存到packetBufffer
    Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
    Serial.println("Contents:");
    Serial.println(packetBuffer);
  }
}

返回主菜单

reference/library/ethernetudpremoteport.txt · 最后更改: 2017/04/07 10:03 (外部编辑)