UDP Сервер и несколько клиентов ESP32 или Arduino

Nakin
Offline
Зарегистрирован: 25.11.2019

Не могу понять, как передавать данные от нескольких клиентов (ESP32) по UDP на Сервер (тоже ESP32).
С одним клиентом и сервером все работает, а вот когда несколько клиентов, не получается сделать.
Есть ли инфа по этой ситуации или уже готовые решения? В гугле не банили , но я не нашел нужной информации. 

rkit
Онлайн
Зарегистрирован: 23.11.2016

Абсолютно точно так же.

Nakin
Offline
Зарегистрирован: 25.11.2019

Точно так же это как? Вот при одном клиенте, в классе UDP ставится порт, ну и когда принимаем смотрим IP клиента и тд. А вот при нескольких клиентах надо создавать разные классы с разными портами? или все-таки точно также? В один порт с нескольких клиентов отправка?

 

rkit
Онлайн
Зарегистрирован: 23.11.2016

Если не понятно, что значат слова "точно так же", то мы на разных языках разговариваем, и помочь я тут ничем не могут.

Nakin
Offline
Зарегистрирован: 25.11.2019

Понял - принял. 

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Nakin пишет:

 В один порт с нескольких клиентов отправка?

 

почему нет? на серверах же не делают каждому клиенту свой порт.

Nakin
Offline
Зарегистрирован: 25.11.2019

Получается просто надо сделать сортировку по IP?

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

или в каждом отправляемом пакете прописать что за пакет от какого устройства и/или какую либо свою информацию

https://ru.wikipedia.org/wiki/UDP

 

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

А если на на каждом модуле поднимите сервер, то отправляя udp не юникастом, а мультикастом на группу, то каждый модуль будет получать сообщения от всех отправителей и при отправке не нужно задумываться на какой ip выполнять отправку.
Если при получении данных предполагалось что либо отправить обратно (ответить на запрос), не используйте мультикаст, это может вызвать лавину мультикастов. В ответах используйте уже юникаст.

Nakin
Offline
Зарегистрирован: 25.11.2019

andycat пишет:

или в каждом отправляемом пакете прописать что за пакет от какого устройства и/или какую либо свою информацию

https://ru.wikipedia.org/wiki/UDP

 

 

Благодарю, что то забыл об этом подумать.