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