用途:该技能用于构建实时功能时的 WebSocket 连接管理,解决连接看似正常但实际已失效(客户端崩溃、网络中断)的问题。
主要能力:按大厅/房间和用户 ID 双向追踪连接;强制全局与每房间连接上限;通过 ping/pong 做健康验证;自动清理失效连接;支持向房间广播、向指定用户直发消息、查询在线用户与连接统计。
使用方式:提供 Python(FastAPI)服务端 ConnectionManager 类,包含 can_accept_connection、connect、disconnect、broadcast_to_lobby、send_to_user、ping_user、record_pong、update_last_message、is_user_connected、get_lobby_users、get_stats 等方法;客户端 TypeScript 示例在收到 health_ping 时立即回发 health_pong。接入时在 WebSocket 端点先鉴权,再检查容量,通过后注册连接,循环接收消息并更新活跃时间,捕获 WebSocketDisconnect 后断开清理。
适用场景:需要连接数限制、在线状态、房间广播或点对点消息的实时应用。
限制与注意:资料未提供具体安装命令、依赖版本、收费与平台信息;建议每 15-30 秒做一次健康检查,发送失败时清理连接,并记录连接事件。常见错误包括未在接入前检查容量、缺少用户到连接映射、无健康验证、未清理失败发送、忘记处理 WebSocketDisconnect。