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