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