GonetsDocs/Документация/Техническая-документация-api/api/endpoints/websocket.md
2025-10-14 16:14:11 +05:00

3.5 KiB
Raw Blame History

api.v1.websocket

class api.v1.websocket.WebSocketManager

Bases: object

Класс для управления подключениями к WebSocket-серверу.

Обрабатывает подключение, отключение и трансляцию сообщений для клиентов, подключённых через WebSocket.

async broadcast(message: dict)

Транслирует сообщения всем подключённым клиентам.

Отправляет JSON-данные всем активным соединениям, обрабатывая отключения клиентов.

  • Parameters: message (dict) – Сообщение для трансляции в формате JSON.
  • Raises:
    • WebSocketDisconnect – Если клиент неожиданно отключился.
    • Exception – Если произошла другая ошибка при отправке.

async connect(websocket: WebSocket)

Подключает клиента к WebSocket-серверу.

Принимает подключение и добавляет WebSocket в список активных соединений.

  • Parameters: websocket (WebSocket) – Объект WebSocket для подключения.
  • Raises: Exception – Если произошла ошибка при принятии подключения.

disconnect(websocket: WebSocket)

Отключает клиента от WebSocket-серверу.

Удаляет WebSocket из списка активных соединений.

  • Parameters: websocket (WebSocket) – Объект WebSocket для отключения.

async api.v1.websocket.broadcast_data(translations: Translations = Depends(translations_dependency))

Таск для периодической трансляции сетевых данных.

Выполняет сканирование сети и отправляет данные всем подключённым клиентам с интервалом в 2 секунды.

  • Parameters: translations – Объект переводов для текущего языка.
  • Raises: Exception – Если произошла ошибка при получении данных или трансляции.

async api.v1.websocket.startup_event()

Запуск таска для трансляции сетевых данных при старте приложения.

Создаёт асинхронную задачу для периодической трансляции данных.

  • Raises: Exception – Если произошла ошибка при запуске таска.

async api.v1.websocket.websocket_endpoint(websocket: WebSocket, translations: Translations = Depends(translations_dependency))

Обработчик WebSocket-соединения.

Управляет соединением клиента, принимает данные для обновления позиций контейнеров и транслирует сетевые данные.

  • Parameters:
    • websocket (WebSocket) – Объект WebSocket для обработки соединения.
    • translations – Объект переводов для текущего языка.
  • Raises:
    • WebSocketDisconnect – Если клиент отключился.
    • Exception – Если произошла ошибка при обработке данных.