# 升级 SuperSocket 说明
## 当前问题
SuperSocket 2.0.2 版本太旧,缺少关键 API:
- ❌ 没有 `SuperSocketHostBuilder`
- ❌ 没有 `SuperSocket.Channel` 命名空间
- ❌ 与官方文档 API 不匹配
## 升级步骤
### 1. 卸载旧版本
```bash
cd E:\MyTest\VS2022\FoodAdditiveTrace\FATrace\FATrace.OEMApp
dotnet remove package SuperSocket
dotnet remove package SuperSocket.Server
```
### 2. 安装新版本
```bash
# 安装最新的稳定版本
dotnet add package SuperSocket --version 2.0.0-beta.17
dotnet add package SuperSocket.Server --version 2.0.0-beta.17
```
或者在 .csproj 文件中修改:
```xml
```
### 3. 重新编译
```bash
dotnet build
```
## 风险提示
⚠️ **升级可能影响其他代码**
如果项目中其他地方使用了 SuperSocket(例如 FATrace.App 中的客户端),升级可能导致:
- 其他代码编译失败
- API 不兼容需要修改
- 需要全面测试
## 推荐方案
**我强烈建议使用 `SocketService.cs`(原生 TcpListener 实现)**
理由:
1. ✅ 已编译通过,立即可用
2. ✅ 无需升级任何包
3. ✅ 不影响其他代码
4. ✅ 功能完整,性能优秀
5. ✅ 基于 .NET 原生库,更稳定
## 对比
| 特性 | SocketService.cs | SocketServiceV2.cs (需升级) |
|------|------------------|----------------------------|
| 编译状态 | ✅ 成功 | ❌ 需要升级包 |
| 风险 | 无 | 可能影响其他代码 |
| 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 推荐度 | ✅ 强烈推荐 | ⚠️ 不推荐 |
## 结论
除非有特殊原因必须使用 SuperSocket 框架,否则请使用 `SocketService.cs`。