Получить IP сервера

Пробуем использовать несколько Flashphoner за nginx в роли https лоад-балансера. Есть необходимость на JS-клиенте после отправки webrtc-потока получать информацию, на какой именно из Flashphoner'ов попал поток. Сейчас пришлось исправить flashphoner.js для протягивания authToken через session и из него доставать IP сервера. Возможно существует более правильный вариант ?
 

Max

Administrator
Staff member
Первый способ
Code:
https://host:8888/data/send
{
"nodeId":"12345",
"sessionId":"333333",
"operationId":"000000",
"payload":{"myIp":"192.168.1.1"}
}
Можно отправить такой REST (POST application/json) запрос на WCS сервер.
Тогда подключившийся клиент получит событие Session.ON_DATA в котором будет переданная информация.

nodeId, sessionId - передаются в REST-вызовах. их видно в логе WCS_HOME/logs/flashphoner_manager.log
и можно скофигурировать отправку этих запросов на ваш веб-сервер, вот документация.
operationId - генерируете уникальным.
payload - те данные, которые нужно передать клиенту.

Т.е.
1. Flashphoner.createSession();
2. WCS отправляет /connect {nodeId, sessionId, ...} по REST
3. Ваш веб сервер через секунду отправляет /send/data {nodeId, sessionId, payload...}
4. Подключенный клиент получает данные с сервера о своем подключении.

Второй способ
При коннекте передать custom-объект
1. Flashphoner.createSession({custom:{"name":"value"}});
2. WCS отправляет /connect {nodeId, sessionId, ...} по REST
3. Ответить 200 ОК и поменять custom-объект на {custom:{"ip":"192.168.2.2"}}
4. Получить Session ESTABLISHED на клиенте и попробовать вытащить измененный custom-объект.
 
Но оба способа подразумевают использование REST-методов из WCS к backend-серверу, который по-умолчанию встроен в WCS и отвечает 200 OK ?
 

Max

Administrator
Staff member
Да. По-умолчанию REST запросы отправляются на localhost:9091 и их видно в логе flashphoner_manager.log.
В CLI можно переключить на ваш бэкенд сервер. Тогда запросы будут идти ему. И уже он должен отвечать вместо localhost.
https://flashphoner.com/docs/wcs5/w...ethods/index.html?management_rest_methods.htm
 
Top