fix: ws连接强制为单例

This commit is contained in:
DLmaster361
2025-09-03 11:58:44 +08:00
parent 1a4a6fd5a3
commit d0e0af9ed7

View File

@@ -34,6 +34,10 @@ router = APIRouter(prefix="/api/core", tags=["核心信息"])
@router.websocket("/ws")
async def connect_websocket(websocket: WebSocket):
if Config.websocket is not None:
await websocket.close(code=1000, reason="已有连接")
return
await websocket.accept()
Config.websocket = websocket
last_pong = time.monotonic()
@@ -58,7 +62,7 @@ async def connect_websocket(websocket: WebSocket):
except asyncio.TimeoutError:
if time.monotonic() - last_pong > 15:
await websocket.close(code=1000, reason="Ping timeout")
await websocket.close(code=1000, reason="Ping超时")
break
await websocket.send_json(
WebSocketMessage(