| 1234567891011121314151617181920212223242526 |
- # -*- coding: utf-8 -*-
- from fastapi import APIRouter, WebSocket
- from digitalHuman.server.ws import WebsocketManager
- from digitalHuman.utils import logger
- router = APIRouter(prefix="/common/v0")
- wsManager = WebsocketManager()
- # ========================= 心跳包 ===========================
- @router.websocket("/heartbeat")
- async def websocket_heartbeat(websocket: WebSocket):
- try:
- await wsManager.connect(websocket)
- while True:
- data = await websocket.receive_text()
- if data == "ping":
- await wsManager.sendMessage("pong", websocket)
- else:
- # 暂不处理其它消息格式: 非探活则关闭接口
- await wsManager.sendMessage("Received unsupported message", websocket)
- wsManager.disconnect(websocket)
- except Exception as e:
- logger.error(f"[SERVER] websocket_heartbeat: {str(e)}")
- wsManager.disconnect(websocket)
|