api.v1.websocket¶
- class api.v1.websocket.WebSocketManager[source]¶
Bases:
objectКласс для управления подключениями к WebSocket-серверу.
Обрабатывает подключение, отключение и трансляцию сообщений для клиентов, подключённых через WebSocket.
- async broadcast(message: dict)[source]¶
Транслирует сообщения всем подключённым клиентам.
Отправляет JSON-данные всем активным соединениям, обрабатывая отключения клиентов.
- Args:
message (dict): Сообщение для трансляции в формате JSON.
- Raises:
WebSocketDisconnect: Если клиент неожиданно отключился. Exception: Если произошла другая ошибка при отправке.
- async api.v1.websocket.broadcast_data(translations: Translations = Depends(translations_dependency))[source]¶
Таск для периодической трансляции сетевых данных.
Выполняет сканирование сети и отправляет данные всем подключённым клиентам с интервалом в 2 секунды.
- Args:
translations: Объект переводов для текущего языка.
- Raises:
Exception: Если произошла ошибка при получении данных или трансляции.
- async api.v1.websocket.startup_event()[source]¶
Запуск таска для трансляции сетевых данных при старте приложения.
Создаёт асинхронную задачу для периодической трансляции данных.
- Raises:
Exception: Если произошла ошибка при запуске таска.
- async api.v1.websocket.websocket_endpoint(websocket: WebSocket, translations: Translations = Depends(translations_dependency))[source]¶
Обработчик WebSocket-соединения.
Управляет соединением клиента, принимает данные для обновления позиций контейнеров и транслирует сетевые данные.
- Args:
websocket (WebSocket): Объект WebSocket для обработки соединения. translations: Объект переводов для текущего языка.
- Raises:
WebSocketDisconnect: Если клиент отключился. Exception: Если произошла ошибка при обработке данных.