Вернуться к библиотеке Ethernet

 

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() {

  // запускаем Ethernet и 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);
 }
}