Arduino:Библиотеки/Ethernet/Класс EthernetUDP/parsePacket()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека Ethernet
(Обсуждение Arduino:Библиотеки/Ethernet#disqus_thread)

Функции:

Функция parsePacket()[1]

Проверяет наличие UDP-пакета и возвращает информацию о его размере. Эту функцию нужно вызывать перед тем, как считывать буфер при помощи функции EthernetUDP.read().

Синтаксис

EthernetUDP.parsePacket()

Параметры

Нет.

Что возвращает

Размер полученного UDP-пакета. Тип данных  int

Пример

#include <SPI.h>         // нужно для версий Arduino позже 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() {
  // запускаем Ethernet и 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);
}

См.также

  1. UDP.read()

Внешние ссылки