# WebSocket 许可证问题解决方案 ## 问题描述 `unicorn-binance-websocket-api` 2.4.0 版本需要 LUCIT 商业许可证,导致 WebSocket 管理器无法启动。 ## 解决方案 ### 方案1:使用标准 WebSocket(推荐,已实现) 系统已自动回退到使用 `python-binance` 自带的 `BinanceSocketManager`,功能不受影响。 **优点**: - ✅ 无需许可证 - ✅ 完全免费 - ✅ 功能完整 - ✅ 已集成在系统中 **缺点**: - ⚠️ 性能略低于 Unicorn(但对大多数场景足够) ### 方案2:降级到旧版本(可选) 如果需要使用 Unicorn WebSocket,可以降级到不需要许可证的旧版本: ```bash pip uninstall unicorn-binance-websocket-api pip install unicorn-binance-websocket-api==1.45.0 ``` **注意**: 旧版本可能功能较少,但不需要许可证。 ### 方案3:获取 LUCIT 许可证(不推荐) 如果需要使用 Unicorn WebSocket 2.4.0+ 的高级功能,可以获取 LUCIT 许可证: - 参考: https://medium.lucit.tech/87b0088124a8 - 需要商业许可证费用 ## 当前实现 系统已实现智能回退机制: 1. **优先尝试 Unicorn WebSocket** - 如果可用且不需要许可证,使用 Unicorn - 性能最优 2. **自动回退到标准 WebSocket** - 如果 Unicorn 不可用或需要许可证 - 使用 `python-binance` 的 `BinanceSocketManager` - 功能完全兼容 3. **价格缓存机制** - 无论使用哪种 WebSocket,都会维护价格缓存 - 减少 REST API 调用 ## 验证标准 WebSocket 是否工作 查看日志,应该看到: ``` ⚠ Unicorn WebSocket管理器启动失败,将使用标准WebSocket 提示: 系统将使用python-binance的标准WebSocket,功能不受影响 ``` 系统会继续正常运行,使用标准 WebSocket 获取实时价格数据。 ## 性能对比 | 特性 | Unicorn WebSocket | 标准 WebSocket | |------|------------------|---------------| | 性能 | 高 | 中 | | 许可证 | 需要(2.4.0+) | 不需要 | | 功能 | 完整 | 完整 | | 稳定性 | 高 | 高 | | 推荐度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ## 结论 **推荐使用标准 WebSocket**(当前实现): - ✅ 无需许可证 - ✅ 功能完整 - ✅ 性能足够 - ✅ 系统已自动处理 系统会自动使用标准 WebSocket,无需额外配置。