• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Количество активных подключений web-серверу в режиме WIFI_STA

ESP-01S

Member
Доброго всем дня.

Как известно, с ESP в режиме точки доступа (АР) можно получить количество клиентов, к ней (точке) подключенных ( byte tmp = WiFi.softAPgetStationNum() ).
Подскажите, как можно определить количество online-пользователей если web-сервер организован в режиме STA?
Все варианты решений, которые я нашел, основаны на сессиях php, что в данных условиях невозможно ...

Кто-нибудь заморачивался подобным вопросом, может подскажете идею решения.
 

enjoynering

Well-known member
У вас в голове путаница. Класс STA не может быть сервером. Учим мат. часть тут. Сервером может быть только класс Server.
 

ESP-01S

Member
У вас в голове путаница. STA не может быть сервером. Учим мат. часть тут.
Возможно я не совсем корректно пояснил ситуацию.
ESP с поднятым на ней сервером web подключается к существующей сети.
На сервер заходят пользователи - задача их посчитать.
 

enjoynering

Well-known member
как вариант - считать уникальные IP клиентов подключенных к Server. Почему уникальные? Один и тот же клиент может подключиться несколько раз.

Код:
ip = server.client().remoteIP();  //ipStr = server.client().remoteIP().toString();
 

nikolz

Well-known member
Кстати, это мысль!
Спасибо за идею.
для сведения.
Максимальное число активных подключений по TCP у ESP8266 равно восьми
Для каждого подключения надо 3 КБ памяти. Если Вы используете память то число подключений будет естественно меньше.
Максимальное число подключений можно задать.
Подробнее читайте в документации по SDK.
 

enjoynering

Well-known member
Угу. В arduino esp8266, по умолчанию, стоит 4 клиента (максимум 8). Но я всегда думал этот лимит распространяется только на soft AP mode? Неужели он и на STA действует?
 

nikolz

Well-known member
Угу. В arduino esp8266, по умолчанию, стоит 4 клиента (максимум 8). Но я всегда думал этот лимит распространяется только на soft AP mode? Неужели он и на STA действует?
Насколько я понимаю AP и STA определяет через кого идет соединение, а не протокол .
Про 8 клиентов в SDK сказано для протокола TCP так как у UDP нет такого понятия
кроме того для обеспечения нескольких соединений надо заменять указатель на буфер.
 
Сверху Снизу