Клиент может подключиться к бэкенд-серверу для получения данных и управления мониторингом двумя способами:
Для получения информации о потоках на WCS в реальном времени, а также для управления мониторингом, используется Websocket API на базе протокола STOMP
Для подключения к бэкенд-серверу необходимо:
1. Установить Secure Websocket соединение по адресу https://hostname:8090/ws, где hostname – имя бэкенд-сервера
2. Установить соединение по протоколу STOMP, отправив сообщение
CONNECT accept-version:1.2 host:hostname ^@ |
3. Подписаться на очередь /alarms для получения тревог, отправив сообщение
SUBSCRIBE id:sub-0 destination:/alarm ^@ |
4. Подписаться на очередь для получения ответов на отправленные запросы /user/service, отправив сообщение
SUBSCRIBE id:sub-1 destination:/user/service ^@ |
Запросы отправляются в виде STOMP-сообщений, например
SEND destination:/app/api/metric/list content-length:100 {"requestId":"eb2c2807-8c2f-4418-aebe-03622404e4bb","realm":"/api/metric/list","payload":{"id":"3"}}^@ |
Здесь:
Тело запроса представляет собой JSON объект со следующими параметрами:
Ответ на запрос будет получен асинхронно, в очереди /user/service в виде STOMP-сообщения, например
MESSAGE destination:/user/service content-type:application/json;charset=UTF-8 subscription:sub-1 message-id:3-8 content-length:159 {"requestId":"eb2c2807-8c2f-4418-aebe-03622404e4bb","status":200,"reason":"SUCCESS","payload":[{"id":3,"name":"Video rate","note":"","enumName":"VIDEO_RATE"}]}^@ |
Здесь:
Тело запроса представляет собой JSON объект со следующими параметрами:
Для получения информации о потоках на WCS, а также для управления мониторингом, может быть использовано REST API
REST-запрос должен быть HTTPS POST запросом в таком виде:
Здесь:
HTTPS порт для обработки REST запросов и WSS подключений настраивается при помощи параметра
server.port = 8090 |
Таймаут соединения настраивается при помощи параметра в файле wcsoam.properties
stomp_max_timeout=1000 |
Для установки соединения из браузера необходимо разрешить поддержку кроссдоменных запросов при помощи парамера
access_control_allow_origin=* |