HandyCafe Docs
owner cashier it-admin

Устаревшие клиенты

HandyCafe может управлять клиентскими установками V3 и V4 вместе с современными клиентами на одном сервере. Устаревшие клиенты отображаются в Панели администратора как отдельный тип карточки с сокращенным набором действий, который соответствует возможностям оригинального протокола.

Перед тем как устаревшие клиенты появятся в Панели администратора, включите поддержку времени выполнения в Настройки > Устаревшие клиенты.

Как отображаются устаревшие клиенты

Устаревшие клиенты подключаются к серверу через оригинальный UDP multicast-протокол. В отличие от современных клиентов, они не используют mDNS. Вместо этого сервер обнаруживает их двумя способами:

Путь обнаружения Триггер
TCP Login Клиент отправляет LoginRequest на TCP-порт команд. Сервер записывает узел и публикует событие подключения.
UDP Ping Клиент рассылает Ping-кадр в multicast-группу. Сервер получает его, обновляет запись узла и публикует событие online.

Состояние по MAC хранится в хранилище устаревших клиентов вместе с IP, hostname, вошедшим пользователем, версией клиента, таймерами сеанса и отметкой последнего появления. Каждый входящий кадр сбрасывает таймер простоя. Если таймер срабатывает без трафика (по умолчанию 10 секунд), клиент помечается как offline. Запись остается в базе данных, чтобы история не терялась.

Карточка устаревшего клиента

Каждый устаревший клиент отображается как карточка, отличная от карточек современных клиентов. В заголовке показываются отображаемое имя (hostname, если оно есть, или MAC, если нет), цветной значок online/offline и метка статуса.

Цвета и метки статусов

Статус Цвет Значение
Online Зеленый Идет активный сеанс.
Idle Голубой Клиент подключен и ждет. Активного сеанса нет.
Paused Янтарный Сеанс приостановлен. Биллинг остановлен.
Busy Фиолетовый Клиент обрабатывает запрос.
Payment Розовый Клиент находится в платежном потоке.
Admin Индиго Клиент находится в админ- или сервисном режиме.
Offline Серый Нет недавнего трафика. Действия отключены, пока клиент не вернется онлайн.
Timed Небесно-голубой Идет сеанс с ограничением по времени и дедлайном.

Часы сеанса

Когда сеанс активен, на карточке показывается блок часов:

  • Время начала.
  • Время окончания для сеансов с лимитом по времени.
  • Использованные минуты.
  • Оставшиеся минуты с живым обратным отсчетом.
  • Накопленная стоимость.

Информация об идентичности

На карточке всегда показываются:

  • MAC-адрес.
  • IP-адрес.
  • Версия клиента, например 3.4.01.
  • Вошедший пользователь, если он есть.

Панель действий

Когда клиент online, под информацией об идентичности появляется панель действий с доступными операциями.

Управление сеансом

Кнопка Когда видна Поведение
Login Статус idle Открывает диалог Device Login. Выберите минуты и способ оплаты. Сервер отправляет команду Login с выбранными значениями. Сеанс начинается на клиенте.
Logout Статус online, timed, paused, busy или payment Если сеанс постоплатный, диалог оплаты собирает сумму и способ оплаты. Проводка записывается в журнал. Сервер отправляет команду Logout. Сеанс завершается на клиенте.

Добавить время

Открывает выбор минут. Принимает положительные значения для продления и отрицательные для уменьшения. Максимальный модуль - 10 000 минут в любую сторону. Работает и для предоплатных, и для постоплатных сеансов.

Если в настройках тарификации заданы предустановленные значения минут, карточка также показывает ряд кнопок-пресетов. Нажмите пресет, чтобы применить значение без открытия выбора.

Снимок экрана

Запрашивает живой снимок экрана у устаревшего клиента через порт передачи файлов. Поток такой:

  1. Сервер отправляет команду запроса снимка.
  2. Клиент открывает краткоживущий TCP-слушатель на временном порту.
  3. Сервер подключается, отправляет 9-байтный заголовок передачи файлов и ждет.
  4. Клиент снимает экран, кодирует его в сжатый BMP и передает обратно.
  5. Сервер распаковывает BMP и сохраняет его в папку legacy_screenshots в каталоге данных HandyCafe.
  6. Просмотрщик снимков открывается с новым изображением.

Если клиент не отвечает в течение таймаута (по умолчанию 30 секунд на подключение и 20 секунд на передачу данных), запрос завершается ошибкой и появляется уведомление. Повторить попытку можно сразу же.

Действия питания

Действие Подтверждение Эффект
Logoff Нет Выполняет выход пользователя Windows на клиентском компьютере. Сеанс Windows завершается, но компьютер остается включенным.
Reboot Да Отправляет команду перезагрузки. Клиентский компьютер перезапускается.
Shutdown Да Отправляет команду выключения. Клиентский компьютер отключается.

Reboot и Shutdown показывают диалог подтверждения, чтобы избежать случайного срабатывания.

Неподдерживаемые операции

Устаревшие клиенты не поддерживают все функции, доступные в современных клиентах HandyCafe. Основные ограничения:

  • Нет изменения паузы в середине сеанса. Изменения времени, отправленные во время паузы, ставятся в очередь, но клиент может их проигнорировать. Сначала возобновите сеанс, примените изменение, а потом при необходимости снова поставьте на паузу.
  • Нет Admin mode через команду сервера. Внутренний статус admin у клиента нельзя переключить с сервера. Этот режим управляется только на самом клиентском компьютере.
  • Нет регистрации лицензии с сервера. Сервер зеркалит байты лицензии, которые видит в кадрах клиента, но не может отправить новую лицензию на клиент. Регистрируйте клиент локально.
  • Нет интеграции кошелька участника для сеансов, начатых на устаревших клиентах. Платежи записываются как обычные строки transactions с transaction_type=sessions и MAC клиента. Современные сценарии кошелька к ним не применяются.
  • Нет удаленного рабочего стола. Функция удаленного рабочего стола использует UDP-поток, которого нет в устаревших клиентах.
  • Нет отправки файлов через Sync Explorer. Передача файлов работает только по современному протоколу.

Для полной функциональности по возможности переходите на современные клиенты HandyCafe.

Поведение в offline

Когда истекает таймаут простоя, карточка затемняется, значок статуса становится серым, а все кнопки действий отключаются. Запись клиента остается в хранилище, чтобы сохранялись история, MAC, hostname и данные последнего появления. Когда клиент снова появляется online (новый UDP Ping или TCP Login), карточка "оживает", и действия снова становятся доступными.

Запись не удаляется автоматически. Чтобы удалить старого клиента окончательно, отредактируйте его через административную базу данных или удалите через соответствующий инструмент администратора.

Советы

  • Оставляйте таймаут простоя на уровне 10 секунд, если только вы не знаете, что ваши устаревшие клиенты beacon-сообщения отправляют медленнее. Слишком короткий таймаут ошибочно помечает исправные клиенты как offline при кратких сетевых сбоях.
  • Если устаревший клиент выглядит online, но не отвечает на команды, проверьте вариант протокола в Настройках. Несовпадение между вариантом сервера (STE vs Standard) и сборкой клиента приводит к тихому отбрасыванию команд.
  • Снимки экрана с устаревших клиентов - это сжатые BMP, которые больше современных PNG. Если вы делаете много снимков, держите папку legacy_screenshots на диске с достаточным свободным местом.
  • Используйте Add Time с кнопками-пресетами во время смены. Одно нажатие продлевает сеанс на заранее заданный шаг, и это быстрее, чем вводить минуты вручную.
  • Переходите с устаревших клиентов постепенно. Переносите по одной партии, проверяйте, что новые клиенты работают одинаково в Панели администратора, и только потом отключайте старые.