Задача стримингового сервера создавать сессии по запросу координатора, поддерживать соединение с клиентами в рамках сессии, 
запускать приложение_ЖК и WebRTC сервер в рамках одной сессии, упраление пользователями (присвоение управления и т.д.),
завершение сессии, приложения_ЖК и WebRTC сервера.

1) Сервер сессий имеет файл config.json в котором содержатся данные о (ip, port, допустимое количество сессий и данные для работы WebRTC).

2) Координирующий сервер знает лимит сервера сессий и присылает запрос на создание сесии {"verb":"CREATE_SESSION", "user_id":"id123"},
	запускает приложение_ЖК и WebRTC сервер, затем отправляет ответ координатору 
	{"verb":"CONNECT_TO_SESSION", "ip":"0.0.0.1", "port":"1111", "code":"1234"}

3) Затем координатор подключает пользователя к серверу сессий с помощью сокета ("ip":"0.0.0.1", "port":"1111") и присылает запрос 
	{"verb":"CONNECT_USER_TO_SESSION", "code":"1234", "user_id":"id123"}, после чего сервер сессий отправляет 2 запроса
	первый запрос координатору который говорит о том что пользователь подключился
	{"msg":"SESSION_CONNECTION_ESTABLISHED", "WebRTC_connection_data":"https://ip:port"} (список данных дополнится),
	после чего пользователь подключается к стриму (процесс подключения дополнится)

4) Во время соединения пользователи могут обмениваться данными внутри сессии (список данных дополнится)

5) Если все пользователи отключились от сессии то закрывается приложение ЖК, сервер WebRTC и уничтожается сессия


Архитектура программы в порядке взаимодействия с клиентом:

сессия (класс):
публичные:
	конструктор(максимальное_количетсво_пользователей, 
			обьект_логов(записать), 
			обьект_приложения(запустить, завершить), 
			обьект_WebRTC_сервера(запустить,завершить)
			):
		обьект_приложения.запустить()
		обьект_WebRTC_сервера.запустить()
	функции:
	~деструктор:
		обьект_приложения.завершить()
		обьект_WebRTC_сервера.завершить()
		ПОДУМАТЬ_НАД_ОБЬЕКТОМ.сообщить_серверу_сессий_что_сессия_завершилась()