python
runtime_error
ai_generated
true
Starlette WebSocket 断开:代码=1000,原因='客户端断开连接'
starlette.websockets.WebSocketDisconnect: code=1000, reason='Client disconnected'
ID: python/starlette-websocket-disconnect-message
80%修复率
88%置信度
0证据数
2024-05-20首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 3.x | active | — | — | — |
根因分析
WebSocket 客户端意外断开连接,服务器端未处理该异常。
English
WebSocket 客户端意外断开连接,服务器端未处理该异常。
解决方案
-
98% 成功率
@app.websocket('/ws') async def ws_endpoint(websocket: WebSocket): await websocket.accept() try: while True: data = await websocket.receive_text() except WebSocketDisconnect: print('Client disconnected') # 清理资源
无效尝试
常见但无效的做法:
-
60% 失败
如果不处理,服务器会崩溃或挂起
-
90% 失败
客户端已经断开,重新连接需要客户端主动发起