ESP8266:Прошивки/Arduino/Библиотеки/Библиотека ESP8266WiFi/Класс UDP: различия между версиями
Материал из Онлайн справочника
Нет описания правки |
Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Класс UDP в библиотеке ESP8266WiFi<ref>[http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/udp-class.html arduino-esp8266.readthedocs.io - UDP Class]</ref>= | =Класс UDP в библиотеке ESP8266WiFi<ref>[http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/udp-class.html arduino-esp8266.readthedocs.io - UDP Class]</ref>= |
Текущая версия от 12:51, 18 июня 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Класс 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 ищите по [ссылка этой ссылке].