73 lines
1.7 KiB
Markdown
73 lines
1.7 KiB
Markdown
# 升级 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`。
|