ESP8266:Прошивки/Arduino/Библиотеки/Библиотека ESP8266WiFi/Класс UDP

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

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Класс UDP в библиотеке ESP8266WiFi[1]

Во-первых, класс WiFiUDP библиотеки ESP8266WiFi состоит из функций, имеющихся в классе WiFiUDP WiFi-библиотеки Arduino.

  • begin()
  • available()
  • beginPacket()
  • endPacket()
  • write()
  • parsePacket()
  • peek()
  • read()
  • flush()
  • stop()
  • remoteIP()
  • remotePort()

Функции и свойства, описанные ниже, разработаны специально для ESP8266. В официальной документации WiFi-библиотеки Arduino их нет.

Многоадресный UDP

  • uint8_t beginMulticast (IPAddress interfaceAddr, IPAddress multicast, uint16_t port)
  • virtual int beginPacketMulticast (IPAddress multicastAddress, uint16_t port, IPAddress interfaceAddress, int ttl=1)
  • IPAddress destinationIP ()
  • uint16_t localPort ()

Класс WiFiUDP поддерживает отправку и получение многоадресных пакетов, но для этого ESP8266 долженбыть переключен в стационарный режим. Чтобы отправлять многоадресные пакеты, замените

udp.beginPacket(addr, port)

на

udp.beginPacketMulticast(addr, port, WiFi.localIP())

Чтобы прослушивать многоадресные пакеты, замените

udp.begin(port)

на

udp.beginMulticast(WiFi.localIP(), multicast_ip_addr, port)

Кроме того, функция udp.destinationIP() позволяет узнать, каким был полученный пакет – многоадресным или одноадресным.

Примеры использования функций класса WiFiUDP ищите по [ссылка этой ссылке].

См.также

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