GonetsDocs/Documentation/Tech-docs/api/endpoints/websocket.md
2025-10-14 16:19:35 +05:00

78 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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** – Если произошла ошибка при обработке данных.