Компонент Операция с websocket-подключением

Описание

Производит одну из операций с websocket-подключением пользователя системы или внешней системы. Подключение должно существовать и быть активным.
Идентификатор подключения формируется модулем обработки websocket-подключений в роли ws и размещается в registrar (роль sr) после авторизации.

Возможна отправка асинхронных сообщений в подключение, отправка запросов и получение ответов. Поддерживаются методы плагинов. Доступен двусторонний обмен файлами с использованием HTTP, а также предоставление публичных временных ссылок на файлы через HTTP.

Table 1. Системные характеристики

Индекс

144

Краткое название

websock

Типы сценариев

Все

Стартовый модуль

r_script_component_websock

Режим

Асинхронный

Иконка

144

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Операция
Код: operation
Усл. видимости: нет
По умолчанию: Отправить

Выбор операции из списка.
Возможные варианты:

  • Отправить сообщение (sendtokenmsg, 0) – Отправляет сообщение в указанное websocket-подключение.

  • Разместить файл для скачивания (ws_temp_file, 1) – Размещает указанный файл на вебсервере, обслуживающем указанное websocket-подключение. Файлу присваивается случайное имя, и компонент возвращает относительный URL. Файл временно доступен для скачивания по HTTP(s) без авторизации в течение 5 минут.

  • Файлы websocktemp (websocktemp, 2) - Производит одно из действий по обмену файлами с временным каталогом сессии на вебсервере, обслуживающем указанное websocket-подключение (категория websocktemp). Файлы доступны внешним приложениям, авторизованным под учетной записью пользователя системы в той же сессии, в которой и указанное websocket-подключение. Файлы доступны через API.

Название: Ид подключения
Код: conn
Усл. видимости: нет
По умолчанию: — 

Идентификатор активного websocket-подключения. Подключение может быть установлено внешней системой с любым из веб-серверов развернутого кластера даже на другом сайте.
Идентификатор представляет собой длинную строку и может быть получен из сервиса REGISTRAR поиском по пользователю и названию расширения API (capability), либо как параметр сценария, обрабатывающего входящие подключения.

Название: Направление
Код: direction
Усл. видимости: нет
По умолчанию: Token message

Выбор направления из списка.
Возможные варианты:

  • Token message (token message, 0) – Отправляется сообщение с кодом message через расширение API для обслуживания websocket-подключений из внешних систем.

  • Token plugin event (token plugin event, 1) – Отправляет сообщение с указанным кодом через указанное расширение API для обслуживания websocket-подключений из внешних систем.

  • User API event (user api event, 2) – Отправляет сообщение с указанным кодом через указанное расширение API для обслуживания пользовательских websocket-подключений.

Название: Название расширения API
Код: capabilityName
Усл. видимости: да
По умолчанию: — 

Название расширения API, через которое производится отправка указанного сообщения. Это может быть как стандартный модуль, так и любой подключенный плагин-модуль системы, реализующий программный интерфейс для отправки сообщений указанного типа.

Название: Код сообщения
Код: eventName
Усл. видимости: да
По умолчанию: — 

Код сообщения, отправляемого через указанное расширение API. Подставляется в качестве первого элемента JSON-массива, представляющего собой сообщение в протоколе websocket.
В зависимости от способа реализации именно этого кода сообщения в расширении API, может отправляться асинхронное сообщение, не требующее ответа, либо синхронный запрос. В этом случае при выборе опции ожидания доставки/ответа появляется возможность получить вместе с ответом данные из удаленной системы.

Название: Тело сообщения
Код: content
Усл. видимости: да
По умолчанию: — 

Тело сообщения. Должно соответствовать формату JSON, если иное не определено конкретным расширением API.

Название: Ожидать доставки/ответа
Код: syncMode
Усл. видимости: да
По умолчанию: Нет

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

Название: Путь к файлу
Код: filePath
Усл. видимости: да
По умолчанию: — 

Специальный путь к файлу, доступный для обработчика сценариев.
Применяется для операции размещения файла на вебсервере.

Название: Действие
Код: websocktempMethod
Усл. видимости: да
По умолчанию: Получить список файлов

Выбор действия из списка в рамках операции обмена файлами с временным каталогом сессии на вебсервере, обслуживающем указанное подключение (категория websocktemp).
Возможные варианты:

  • Получить список файлов (get_coll, 0) – Возвращает список файлов во временном каталоге websocktemp вебсервера.

  • Достать файл (get_file, 1) – Достает указанный по имени файл из временного каталога websocktemp вебсервера и сохраняет во временном каталоге текущего сценария.

  • Разместить файл (put_file, 2) – Размещает файл во временном каталоге websocktemp вебсервера. Файл берется по специальном пути, доступному обработчику сценариев.

  • Удалить файл (delete_file, 3) – Удаляет указанный по имени файл из временного каталога websocktemp вебсервера.

Применяется для файловой операции с категорией websocktemp.

Название: Путь к файлу
Код: websocktempFilePath
Усл. видимости: да
По умолчанию: — 

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

Название: Имя файла
Код: websocktempFileName
Усл. видимости: да
По умолчанию: — 

Имя файла для проведения операций обмена файлами с временным каталогом на веб-сервере подключения в рамках категории websocktemp.
Применяется для файловой операции с категорией websocktemp.

Название: Время, с
Код: timeoutSec
Усл. видимости: да
По умолчанию: — 

Таймаут ожидания доставки сообщения, в секундах.

Название: Результат в переменную
Код: resultVariable
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения содержания ответа на отправленный запрос, если выбран режим ожидания доставки/ответа и выбранный код сообщения реализуется в указанном расширении API в виде запросаформат запроса.

Название: Ошибка в переменную
Код: errorVariable
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения ошибки.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции.

Название: Переход, время
Код: transferTimeout
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае истечения таймаута ожидания доставки сообщения.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

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

См. также

  • Роль svc

  • Роль ws

  • Роль sr