86 lines
2.3 KiB
Markdown
86 lines
2.3 KiB
Markdown
# 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,无需额外配置。
|