Initial commit
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
# Core 重构 Phase 2 进度报告
|
||||
|
||||
## ✅ 已完成
|
||||
|
||||
### 1. connect/stun.go 重构完成
|
||||
|
||||
**修改内容**:
|
||||
- ❌ 删除重复的 `STUNClient` 结构体(约 100 行代码)
|
||||
- ❌ 删除 `queryServer()` 等底层 STUN 协议实现
|
||||
- ✅ 改为调用 `client/stun_client.go` 的 `GetExternalIP()` 方法
|
||||
|
||||
**重构对比**:
|
||||
```go
|
||||
// 修改前:connect 自己实现 STUN 客户端
|
||||
type STUNClient struct { ... }
|
||||
func (c *STUNClient) GetExternalAddress() { ... }
|
||||
|
||||
// 修改后:调用 client 层的协议客户端
|
||||
stun := client.NewSTUNClient(servers, logger)
|
||||
result := stun.GetExternalIP()
|
||||
```
|
||||
|
||||
**删除行数**: ~95 行
|
||||
**新增行数**: ~5 行(import + 调用)
|
||||
**净减少**: -90 行 ✅
|
||||
|
||||
---
|
||||
|
||||
## ⏳ 待完成
|
||||
|
||||
### 2. connect/turn_udp.go 重构(进行中)
|
||||
|
||||
**当前状态**:
|
||||
- ❌ 包含完整的 TURNClient 实现(167 行)
|
||||
- ❌ 包含 allocateUDP/allocateTCP 等底层协议逻辑
|
||||
- ✅ 需要改为调用 `client/turn_client.go`
|
||||
|
||||
**重构方案**:
|
||||
```go
|
||||
// 修改前:connect 自己实现 TURN 客户端
|
||||
type TURNClient struct { ... }
|
||||
func (c *TURNClient) Allocate() { ... } // 167 行实现
|
||||
|
||||
// 修改后:调用 client 层的协议客户端
|
||||
turn := client.NewTURNClient(config)
|
||||
relayConn := turn.Allocate()
|
||||
return NewTURNConn(relayConn), nil
|
||||
```
|
||||
|
||||
**预计删除**: ~350 行
|
||||
**预计新增**: ~20 行
|
||||
**净减少**: -330 行
|
||||
|
||||
---
|
||||
|
||||
### 3. 其他待清理的文件
|
||||
|
||||
#### fake_tcp.go / real_tcp.go
|
||||
- ✅ 保持现状(已经是工厂模式)
|
||||
- ℹ️ 这两个文件是真正的建连逻辑,不需要调用 client/
|
||||
|
||||
#### ws.go
|
||||
- ⏳ 检查是否有重复的 WSClient 实现
|
||||
- 🔄 如果需要,改为调用 `client/ws_client.go`
|
||||
|
||||
---
|
||||
|
||||
## 📊 重构收益统计
|
||||
|
||||
| 文件 | 修改前行数 | 修改后行数 | 净减少 | 状态 |
|
||||
|------|-----------|-----------|--------|------|
|
||||
| `connect/stun.go` | 180 | 85 | -95 | ✅ 完成 |
|
||||
| `connect/turn_udp.go` | 409 | ~60 | -349 | ⏳ 进行中 |
|
||||
| `fake_tcp_factory.go` | 55 | 0 | -55 | ✅ 已删除 |
|
||||
| `real_tcp_factory.go` | 55 | 0 | -55 | ✅ 已删除 |
|
||||
| **总计** | **699** | **~145** | **-554** | - |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 下一步行动
|
||||
|
||||
1. **立即执行**: 重构 `connect/turn_udp.go`
|
||||
- 删除 TURNClient 完整实现
|
||||
- 简化为调用 client/turn_client.go
|
||||
- 只保留 TURNFactory.Dial() 逻辑
|
||||
|
||||
2. **验证编译**:
|
||||
```bash
|
||||
go build ./core/connect
|
||||
go build ./core
|
||||
```
|
||||
|
||||
3. **更新文档**:
|
||||
- 在 README 中说明新的目录结构
|
||||
- 更新 core 分层架构文档
|
||||
|
||||
---
|
||||
|
||||
*创建时间:2026-03-24 00:45*
|
||||
*Phase 2 进度:1/3 完成*
|
||||
Reference in New Issue
Block a user