• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 нет такого понятия
кроме того для обеспечения нескольких соединений надо заменять указатель на буфер.
 
Сверху Снизу