From e7cfd3ff0db5e548b2e1876268c549210a911ff9 Mon Sep 17 00:00:00 2001 From: tangjiapeng Date: Wed, 14 May 2025 17:55:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0ReadME=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bbf62d0..d23bc44 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,11 @@ ## 项目进度与规划 -### ✅ **已发布版本** +### ✅ **已发布功能版本** #### v1.0.0 核心能力:**生产级网络通信架构** | **企业级 VIPER 架构** #### v1.1.0 核心能力:**多维度指标监控、全链路追踪** -#### v1.2.0 核心能力:TLV协议扩展增强 +#### v1.2.0 核心能力:TLV协议扩展型增强 --- @@ -139,6 +139,7 @@ client.send(message: imageMessage) { error in - **v1.0.1**:修复了因libffi编译导致无法在模拟器运行的问题 - **v1.1.0**:新增全链路追踪、关键指标采集(网络质量/成功率/延迟)并添加演示Demo,引入序列号分区机制,整体逻辑优化 - **v1.2.0**:协议改造为TLV结构,支持协议无缝升级,整体逻辑重构,消息构造和解析逻辑发生本质变化,详见Doc +- **v1.2.1**:完善了消息错误机制,遵循单一职责拆分了数据包组装类 ### 版本规划 @@ -150,10 +151,10 @@ client.send(message: imageMessage) { error in #### v1.4.0(规划中) - 性能升级 - **连接池优化**:智能资源分配 - **分包策略升级**:大文件分片传输 -- **QoS保障**:流量优先级控制 +- **QoS保障**:流量优先级控制、流量熔断 #### v1.5.0(规划中) - 极端场景优化 -- **弱网对抗**:智能降级策略 +- **弱网高性能对抗**:智能降级策略 - **错误恢复**:多级故障回滚 - **协议演进**:可靠UDP传输 @@ -161,7 +162,7 @@ client.send(message: imageMessage) { error in **✨ 持续迭代中,期待您的 Star 关注! ✨** ### 🚧**规划中** -- **IM防腐层整理、聊天界面整理、可靠UDP协议、消息可靠传输、多级ACK响应机制...** +- **IM防腐层整理、聊天界面整理、可靠UDP协议、NACK响应机制...** ## 使用方法 From 747a0d08ae0c2b08abf335ef1aaf3ea6bb4242b3 Mon Sep 17 00:00:00 2001 From: tangjiapeng Date: Wed, 14 May 2025 18:31:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0ReadME=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 ++++++++------- .../Container/TJPConcreteSession.m | 6 ------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d23bc44..dd7df07 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ client.send(message: imageMessage) { error in - **可测试性**:天然支持依赖注入 - **灵活路由**:Push/Present/Modal自由组合 --- -如需更进一步对接状态管理框架、状态机、权限控制等高级功能,也可在现有架构基础上自然延展。 +如需更进一步对接状态管理框架、权限控制等高级功能,也可在现有架构基础上自然延展。 #### 已知问题 @@ -139,7 +139,7 @@ client.send(message: imageMessage) { error in - **v1.0.1**:修复了因libffi编译导致无法在模拟器运行的问题 - **v1.1.0**:新增全链路追踪、关键指标采集(网络质量/成功率/延迟)并添加演示Demo,引入序列号分区机制,整体逻辑优化 - **v1.2.0**:协议改造为TLV结构,支持协议无缝升级,整体逻辑重构,消息构造和解析逻辑发生本质变化,详见Doc -- **v1.2.1**:完善了消息错误机制,遵循单一职责拆分了数据包组装类 +- **v1.2.1**:完善了消息错误机制,遵循单一职责拆分了数据包解析、组装 ### 版本规划 @@ -175,7 +175,7 @@ Socket通信模块架构 ``` +---------------------------------------------------+ | 应用层 | -| 使用统一API管理网络通信 | +| 使用统一API管理网络通信 | +---------------------------------------------------+ | v @@ -188,8 +188,8 @@ Socket通信模块架构 | | v v +-------------------------+ +-------------------------+ -| TJPContentSessionAdapter| | TJPConcreteSession | -| (内容编解码与代理适配) | | (底层连接管理) | +| TJPMessageParser | | TJPConcreteSession | +| (内容编解码与适配) | | (底层连接管理) | +-------------------------+ +-------------------------+ | v @@ -252,7 +252,7 @@ Socket通信模块架构 ### iOS中的AOP实践 -实现面向切面编程(AOP): +实现面向切面编程AOP(非本项目重点): - 通过切面方式AOP,为网络请求和响应逻辑增加额外的功能,如日志记录、错误处理等。 ## 技术栈 @@ -297,7 +297,8 @@ iOS-Network-Stack-Dive/ │ ├── ArchitectureExtensions/ │ │ └── AspectLoggerDesign.md │ ├── CoreNetworkStackDoc/ -│ │ ├── 协议流程解析图.jpg +│ │ ├── 协议流程解析图.jpg +│ │ ├── TCP链路流转图.jpg │ │ ├── 单元测试用例文档 │ │ ├── ProtocolParseDesign.md │ │ ├── TJPNetworkManagerV2Design.md diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m index da52a41..c85cd22 100644 --- a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m +++ b/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m @@ -133,7 +133,6 @@ - (void)setupStateMachine { [strongSelf.stateMachine sendEvent:TJPConnectEventConnect]; }); } - }]; // 设置状态变化监听 @@ -156,8 +155,6 @@ - (void)setupStateMachine { [strongSelf.heartbeatManager updateSession:strongSelf]; // 如果有积压消息 发送积压消息 [strongSelf flushPendingMessages]; - //通知代理 - [self notifyDelegateOfStateChange]; } else if ([newState isEqualToString:TJPConnectStateDisconnected]) { // 断开连接,停止心跳 [strongSelf.heartbeatManager stopMonitoring]; @@ -881,9 +878,6 @@ - (TJPConnectEvent)eventForTargetState:(TJPConnectState)targetState { } -- (void)notifyDelegateOfStateChange { - -} #pragma mark - Lazy