Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: StanBY от 16 Января 2024, 11:17:12
-
Добрый день, подскажите пожалуйста, есть несколько клиентов, необходимо отслеживать в каком окне находится каждый из клиентов, есть ли готовая система отслеживания в каком окне находится каждый клиент?
-
Здравствуйте.
Такой возможности нет. Опишите подробно, какую именно задачу Вы пытаетесь решить, возможно мы сможем предложить решение.
-
Есть проект в котором много страниц и подстраниц, мне необходимо знать кто из клиентов в данный момент находится на данной подстранице и какое количество клиентов находится на данной подстранице
-
Здравствуйте.
Список клиентов по подстраницам можно получить отслеживая входы/выходы на подстраницы.
Пример во вложении. Пример только для иллюстрации алгоритма. В качестве списка клиентов используется строковая переменная.
Конкретный код и используемые объекты определяются количеством подстраниц и клиентов, удобным видом расположения информации. В частности, в качестве списков клиентов и средства отображения могут использоваться таблица/таблицы.
Отслеживать имеет смысл только обычных клиентов, да и то при условии уникальных имен. WEB-клиенты в качестве имени используют 32-разрядный идентификатор, изменяющийся после перезапуска клиента.
-
"Большой_брат" - проект контроля за клиентами и пользователями других проектов сервера. Контроль осуществляется на основе единой таблицы пользователей по событиям проектов. Отслеживаемые проекты должны быть подключены к базе данных и иметь возможность записи/изменения в таблицу пользователей по событиям "Авторизация пользователя", "Пользователь перешел на страницу", "Пользователь покинул страницу", "Остановка проекта".
Соответствующие скрипты должны быть включены или изменены в отслеживаемых проектах.
По данным из этой таблицы можно получить обобщенную информацию, как-то текущее состояние пользователей и клиентов, учет времени пользователей и т.д.
В примере проект контроля (состояние активных пользователей, статистика по времени пользователей и проектам/проекту) и тестовый проект с авторизацией и без. Для тестирования можно размножить тестовые проекты.
Добавлено 3.02.2024
Окончательная версия проекта, без отслеживания переходов по страницам, что позволяет уменьшить размер таблицы users.
Добавленные события контролируемого проекта:
- "Полностью запущен" - получение имени проекта в переменную ProjectName;
- "Остановка проекта" - перевод в неактивное состояние всех записей клиентов-пользователей этого проекта;
- "Авторизация пользователя" (проект с авторизацией) или "Клиент подключен" (без авторизации) - перевод в неактивное состояние всех записей этого клиента и создание активной записи этого пользователя;
- "Пользователь перешел на эту страницу" - перевод в активное состояние самой поздней записи этого клиента;
- "Пользователь покинул эту страницу" - перевод всех в неактивное состояние всех активных записей этого клиента.
Обоснования:
- в промежутках между сменой пользователя или проекта, клиент однозначно идентифицирует пользователя и проект;
- при смене проекта обязательно меняется клиент;
- перевод записи в неактивное состояние выполняется для всех пользователей, связанных с данным клиентом;
- перевод только одной записи в активное состояние совместно с предыдущим пунктом гарантирует наличие единственного пользователя данного клиента (устраняет возможный сбой: наличие записей о нескольких активных пользователях данного клиента, правда в случае такого сбоя время завершения работы пользователя будет некорректным);
- контроль переходов по страницам исключительно для контроля отключения клиента. По крайней мере в текущей (2.6.10.0) версии Simple-Scada, при отключении клиента возникает событие "Пользователь покинул эту страницу".
В качестве имени неавторизованного пользователя используется имя обычного клиента или идентификатор WEB-клиента.
Во вложении проект контроля и тестовые клиенты для проектов с авторизацией и без.