Суть вопроса в следующем:
Одновременно активны оба интерфейса (как WiFi, так и Ethernet).
На оба приходят UDP-пакеты, для обработки запущен UDP-сервер из библиотеки WiFiUDP:
WiFiUDP Udp;
Udp.beginMulticast(multicastIP, multicastPort);
Для приема вызывается функция
uint16_t packetSize = Udp.parsePacket();
и затем
Udp.read(...)
Пакет принимается правильно.
Но проблема в том, что сервер не привязан к какому-то интерфейсу, и я не знаю, пришел пакет по WiFi или по Ethernet. А ответить мне нужно по тому интерфейсу, откуда получен пакет.
Поэтому у меня такие вопросы:
1. Как можно узнать по какому интерфейсу пришел пакет?
2. Как выбрать интерфейс для отправки? (Сейчас отправку выполняю функцией Udp.write(...) )
3. Может есть библиотека, позволяющая выбирать интерфейс для сервера/клиента
Одновременно активны оба интерфейса (как WiFi, так и Ethernet).
На оба приходят UDP-пакеты, для обработки запущен UDP-сервер из библиотеки WiFiUDP:
WiFiUDP Udp;
Udp.beginMulticast(multicastIP, multicastPort);
Для приема вызывается функция
uint16_t packetSize = Udp.parsePacket();
и затем
Udp.read(...)
Пакет принимается правильно.
Но проблема в том, что сервер не привязан к какому-то интерфейсу, и я не знаю, пришел пакет по WiFi или по Ethernet. А ответить мне нужно по тому интерфейсу, откуда получен пакет.
Поэтому у меня такие вопросы:
1. Как можно узнать по какому интерфейсу пришел пакет?
2. Как выбрать интерфейс для отправки? (Сейчас отправку выполняю функцией Udp.write(...) )
3. Может есть библиотека, позволяющая выбирать интерфейс для сервера/клиента