python
network_error
ai_generated
true
fastapi.WebSocketDisconnect: code=1006, reason=''
ID: python/fastapi-websocket-disconnect-error
80%Fix Rate
82%Confidence
0Evidence
2024-07-25First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.x | active | — | — | — |
Root Cause
WebSocket连接被异常关闭,通常由于网络问题或客户端崩溃
generic中文
WebSocket连接被异常关闭,通常由于网络问题或客户端崩溃
Workarounds
-
95% success 在WebSocket端点中捕获断开异常
from fastapi import WebSocketDisconnect async def websocket_endpoint(websocket: WebSocket): await websocket.accept() try: while True: data = await websocket.receive_text() except WebSocketDisconnect: print('Client disconnected') -
85% success 实现自动重连逻辑
async def connect_with_retry(): while True: try: await websocket.accept() break except WebSocketDisconnect: await asyncio.sleep(1)
Dead Ends
Common approaches that don't work:
-
尝试在WebSocket处理中忽略断开异常
60% fail
忽略异常会导致无限循环或资源泄漏
-
使用全局异常捕获所有异常
40% fail
WebSocketDisconnect是特定异常,全局捕获可能不处理