vvk123 0 28 сентября, 2022 Опубликовано 28 сентября, 2022 · Жалоба Суть вопроса в следующем: Одновременно активны оба интерфейса (как 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. Может есть библиотека, позволяющая выбирать интерфейс для сервера/клиента Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 28 сентября, 2022 Опубликовано 28 сентября, 2022 · Жалоба 5 часов назад, vvk123 сказал: Но проблема в том, что сервер не привязан к какому-то интерфейсу, и я не знаю, пришел пакет по WiFi или по Ethernet. Как это так? По какому интерфейсу пришел запрос, по такому сервер и отдаст... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 28 сентября, 2022 Опубликовано 28 сентября, 2022 · Жалоба 21 минуту назад, mantech сказал: По какому интерфейсу пришел запрос, по такому сервер и отдаст... А как он догадается, что это ответ именно на этот запрос? UDP же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 28 сентября, 2022 Опубликовано 28 сентября, 2022 · Жалоба а таблица роктинга для чего ? как прописано - так и будет отправлять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 28 сентября, 2022 Опубликовано 28 сентября, 2022 · Жалоба 8 часов назад, vvk123 сказал: 1. Как можно узнать по какому интерфейсу пришел пакет? Каждому сетевому интерфейсу должен быть назначен свой уникальный MAC-адрес. Видимо в свойствах вашего UDP-кадра также следует искать целевой MAC и определять по нему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться