核心实现:搭建 Monorepo 架构,完成 shared 共享包、gateway、user-service 基础框架开发 技术落地:严格匹配指定技术栈版本,完成 Docker、gRPC、FastAPI、PostgreSQL、Redis 等配置,实现服务间基础连通 配套文件:生成 Makefile、环境变量模板、数据库 / 脚本初始化文件及启动验证文档 架构定位:仅搭建基础架构骨架,无任何业务逻辑、业务规则及业务相关字段,为后续业务开发提供支撑
23 lines
830 B
Python
23 lines
830 B
Python
from fastapi import WebSocket, WebSocketDisconnect
|
|
from app.ws.manager import manager
|
|
import uuid
|
|
|
|
async def websocket_handler(websocket: WebSocket):
|
|
client_id = str(uuid.uuid4())
|
|
await manager.connect(websocket, client_id)
|
|
|
|
try:
|
|
while True:
|
|
data = await websocket.receive()
|
|
|
|
if "text" in data:
|
|
message = data["text"]
|
|
await manager.send_personal_message(f"You said: {message}", client_id)
|
|
await manager.broadcast(f"Client {client_id} said: {message}")
|
|
elif "bytes" in data:
|
|
# 处理二进制消息
|
|
await websocket.send_bytes(data["bytes"])
|
|
except WebSocketDisconnect:
|
|
manager.disconnect(client_id)
|
|
await manager.broadcast(f"Client {client_id} disconnected")
|