Files
FATrace/FATrace.OEMApp/升级SuperSocket说明.md
2026-01-13 15:03:02 +08:00

73 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 升级 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
<PackageReference Include="SuperSocket" Version="2.0.0-beta.17" />
<PackageReference Include="SuperSocket.Server" Version="2.0.0-beta.17" />
```
### 3. 重新编译
```bash
dotnet build
```
## 风险提示
⚠️ **升级可能影响其他代码**
如果项目中其他地方使用了 SuperSocket例如 FATrace.App 中的客户端),升级可能导致:
- 其他代码编译失败
- API 不兼容需要修改
- 需要全面测试
## 推荐方案
**我强烈建议使用 `SocketService.cs`(原生 TcpListener 实现)**
理由:
1. ✅ 已编译通过,立即可用
2. ✅ 无需升级任何包
3. ✅ 不影响其他代码
4. ✅ 功能完整,性能优秀
5. ✅ 基于 .NET 原生库,更稳定
## 对比
| 特性 | SocketService.cs | SocketServiceV2.cs (需升级) |
|------|------------------|----------------------------|
| 编译状态 | ✅ 成功 | ❌ 需要升级包 |
| 风险 | 无 | 可能影响其他代码 |
| 稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 推荐度 | ✅ 强烈推荐 | ⚠️ 不推荐 |
## 结论
除非有特殊原因必须使用 SuperSocket 框架,否则请使用 `SocketService.cs`