diff --git a/README.md b/README.md index 09b3e94..96a4fc4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ios-async-socket-explorer 是一个生产级TCP通信框架,来源于即时通讯领域实际工作经验(**已脱敏**)。展示了从**小型项目单 TCP 架构**,逐步演进为适用于中大型项目**多路复用架构**的过程,包含协议设计、架构解耦、高并发优化等核心实践。 **主要特性:** -- 支持10k+并发连接的高性能架构,日均稳定处理10万+消息量 +- 支持峰值5k+并发连接的高性能架构,日均稳定处理10万+消息量 - 完善的弱网环境优化策略,包含指数退避重连算法和自适应心跳 - TLS加密与自定义二进制协议,保障通信安全性 - 企业级VIPER分层架构设计,单元测试覆盖率>90% @@ -80,7 +80,7 @@ client.sendMessageWithAutoRoute(mediaMsg) // 自动路由到媒体会话 | 功能类别 | 核心特性 | 应用场景 | | -------------|----------------------- | --------------------| -| **网通通信核心** | 内置心跳保活、断线重连、ACK确认机制 | 即时通讯、IoT设备管理 | +| **网络通信核心** | 内置心跳保活、断线重连、ACK确认机制 | 即时通讯、IoT设备管理 | | **二进制协议设计** | 自定义TLV结构协议、CRC32校验、高效压缩 | 高吞吐、低延迟场景 | | **高并发优化** | 多路复用连接池、GCD优化、零拷贝传输 | 实时数据同步 | | **现代企业级架构** | VIPER分层架构、注入式解耦框架(Typhoon)、IM防腐层设计 | 大型项目长期维护 | @@ -88,11 +88,12 @@ client.sendMessageWithAutoRoute(mediaMsg) // 自动路由到媒体会话 ## 性能指标 -- **高并发能力**: 支持5,000+并发连接,内存占用1.6GB (约320KB/连接) -- **消息吞吐量**: 单连接峰值8,000 pps (约6.4 Mbps),基准测试环境 +- **高并发能力**: 支持峰值5,000+并发连接,内存占用1.6GB (约320KB/连接) +- **消息吞吐量**: 单连接峰值8,000 pps (约6.4 Mbps),基准测试环境(iPhone 14 Pro) +- **线程效率**: 多线程切换耗时占比 < 3%,GCD优化调度 - **弱网表现**: 30%丢包环境下消息可达率>92%,平均延迟<800ms - **响应速度**: 网络恢复后连接重建平均耗时<2秒 -- **资源占用**: 相比传统实现,内存占用减少35%,CPU使用降低28% +- **资源占用**: 相比NSURLSession方案,内存占用减少35%,CPU使用降低28% - **生产验证**: 日均处理10万+消息,真实服务于企业客户 ## 🔥 技术亮点 @@ -182,6 +183,10 @@ Socket通信模块架构 原始数据或嵌套TLV
(保留Tag 0xFFFF标记) +**示例数据包**: +文本消息 "Hello" 的TLV编码: +[10 01] [00 00 00 05] [48 65 6C 6C 6F] +Tag Length Value("Hello") - 采用**大端字节序**,兼容不同硬件平台 - 支持**协议版本协商**,实现向前兼容 @@ -248,22 +253,20 @@ iOS-Network-Stack-Dive/ │ └── AOP/ │ │ └── LoggingAspect/ # 日志追踪切面 │ └── NetworkMonitor/ # 网络监控 -├── CoreNetworkStack/ -│ ├── TransportLayer/ # 传输层实现 -│ │ ├── TCP-State-Machine/ # TCP状态机实现 -│ └── ProtocolLayer/ -│ ├── BinaryProtocol/ # 自定义二进制协议 -│ │ ├── Encoder-Decoder/ # 编解码器 -│ │ └── CRC-Checker/ # 校验模块 -│ └── Security/ -│ ├── KeyExchange/ # 密钥交换 -│ └── PacketEncryption/ # 数据加密 +├── CoreNetworkStack/ +│ ├── V1_BasicFunction/ # 最初演示版本(演示TCP问题,并解决问题) +│ ├── V2_Concurrency/ # 多并发版本(单链接,此项目中更多用于演示作用) +│ ├── TJPIMCore/ # IM核心,多路复用通讯框架 +│ └── TransportLayer/ # 传输层Mock └── ProductionBridge/ └── VIPER-Sample/ # 真实项目代码片段 └── MessageModule/ # 消息模块实现 ``` ## 版本历史 +
+📋 版本历史 + - **v1.0.0**:网络框架基础核心功能基本完成、生产级VIPER架构演示完成 - **v1.0.1**:修复了因libffi编译导致无法在模拟器运行的问题 - **v1.1.0**:新增全链路追踪、关键指标采集(网络质量/成功率/延迟)并添加演示Demo,引入序列号分区机制,整体逻辑优化 @@ -271,8 +274,10 @@ iOS-Network-Stack-Dive/ - **v1.2.1**:完善了消息错误机制,遵循单一职责拆分了数据包解析、组装,抽象了连接管理类,优化了握手交换协议版本信息逻辑 - **v1.3.0**:升级动态心跳机制,结合App状态+网络状态,使用更成熟稳定的方案动态调整心跳频率;埋点功能优化,提供更全面的埋点维度 +
+ ## 后续迭代计划 -- **运营商网络适配**: 智能心跳策略、NAT超时处理、运营商防拦截 +- **运营商网络适配**: NAT超时处理、运营商防拦截 - **极端环境支持**: 智能降级策略、弱网优化、多级故障恢复 - **高性能传输**: 连接池优化、大文件传输、QoS流量控制 - **IM组件库**: 防腐层设计、聊天UI组件、VIPER架构示例 diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Bulider/TJPMessageBuilder.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Bulider/TJPMessageBuilder.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Bulider/TJPMessageBuilder.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Bulider/TJPMessageBuilder.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Bulider/TJPMessageBuilder.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Bulider/TJPMessageBuilder.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Bulider/TJPMessageBuilder.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Bulider/TJPMessageBuilder.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Connect/TJPConnectionManager.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Connect/TJPConnectionManager.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Connect/TJPConnectionManager.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Connect/TJPConnectionManager.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Connect/TJPConnectionManager.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Connect/TJPConnectionManager.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Connect/TJPConnectionManager.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Connect/TJPConnectionManager.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPConcreteSession.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPConcreteSession.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPConcreteSession.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPConcreteSession.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPConcreteSession.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPNetworkCoordinator.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPNetworkCoordinator.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPNetworkCoordinator.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPNetworkCoordinator.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPNetworkCoordinator.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPNetworkCoordinator.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Container/TJPNetworkCoordinator.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Container/TJPNetworkCoordinator.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Context/TJPMessageContext.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Context/TJPMessageContext.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Context/TJPMessageContext.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Context/TJPMessageContext.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Context/TJPMessageContext.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Context/TJPMessageContext.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Context/TJPMessageContext.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Context/TJPMessageContext.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Error/TJPErrorUtil.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPErrorUtil.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Error/TJPErrorUtil.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPErrorUtil.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Error/TJPErrorUtil.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPErrorUtil.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Error/TJPErrorUtil.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPErrorUtil.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETError.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETError.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETError.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETError.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETError.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETError.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETError.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETError.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETErrorHandler.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETErrorHandler.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETErrorHandler.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETErrorHandler.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETErrorHandler.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETErrorHandler.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/Error/TJPNETErrorHandler.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Error/TJPNETErrorHandler.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Heartbeat/TJPDynamicHeartbeat.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Heartbeat/TJPDynamicHeartbeat.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Heartbeat/TJPDynamicHeartbeat.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Heartbeat/TJPDynamicHeartbeat.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Heartbeat/TJPDynamicHeartbeat.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Heartbeat/TJPDynamicHeartbeat.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Heartbeat/TJPDynamicHeartbeat.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Heartbeat/TJPDynamicHeartbeat.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/IMClient/TJPIMClient.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/IMClient/TJPIMClient.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/IMClient/TJPIMClient.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/IMClient/TJPIMClient.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/IMClient/TJPIMClient.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/IMClient/TJPIMClient.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/IMClient/TJPIMClient.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/IMClient/TJPIMClient.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageFactory.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageFactory.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageFactory.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageFactory.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageFactory.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageFactory.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageFactory.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageFactory.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageSerializer.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageSerializer.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageSerializer.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageSerializer.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageSerializer.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageSerializer.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPMessageSerializer.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPMessageSerializer.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPTextMessage.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPTextMessage.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPTextMessage.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPTextMessage.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPTextMessage.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPTextMessage.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Message/TJPTextMessage.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Message/TJPTextMessage.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Network/TJPNetworkCondition.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Network/TJPNetworkCondition.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Network/TJPNetworkCondition.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Network/TJPNetworkCondition.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Network/TJPNetworkCondition.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Network/TJPNetworkCondition.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Network/TJPNetworkCondition.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Network/TJPNetworkCondition.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/NetworkUtility/TJPErrorDefine.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/NetworkUtility/TJPErrorDefine.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/NetworkUtility/TJPErrorDefine.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/NetworkUtility/TJPErrorDefine.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/NetworkUtility/TJPNetworkDefine.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/NetworkUtility/TJPNetworkDefine.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/NetworkUtility/TJPNetworkDefine.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/NetworkUtility/TJPNetworkDefine.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPMessageParser.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPMessageParser.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPMessageParser.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPMessageParser.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPMessageParser.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPMessageParser.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPMessageParser.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPMessageParser.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPParsedPacket.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPParsedPacket.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPParsedPacket.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPParsedPacket.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPParsedPacket.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPParsedPacket.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Parser/TJPParsedPacket.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Parser/TJPParsedPacket.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Policy/TJPReconnectPolicy.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Policy/TJPReconnectPolicy.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Policy/TJPReconnectPolicy.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Policy/TJPReconnectPolicy.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Policy/TJPReconnectPolicy.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Policy/TJPReconnectPolicy.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Policy/TJPReconnectPolicy.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Policy/TJPReconnectPolicy.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPConnectionDelegate.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPConnectionDelegate.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPConnectionDelegate.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPConnectionDelegate.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPHeartbeatProtocol.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPHeartbeatProtocol.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPHeartbeatProtocol.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPHeartbeatProtocol.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPMessageProtocol.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPMessageProtocol.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPMessageProtocol.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPMessageProtocol.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPSessionDelegate.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPSessionDelegate.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPSessionDelegate.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPSessionDelegate.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPSessionProtocol.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPSessionProtocol.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Protocol/TJPSessionProtocol.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Protocol/TJPSessionProtocol.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Sequence/TJPSequenceManager.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Sequence/TJPSequenceManager.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Sequence/TJPSequenceManager.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Sequence/TJPSequenceManager.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Sequence/TJPSequenceManager.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Sequence/TJPSequenceManager.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Sequence/TJPSequenceManager.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Sequence/TJPSequenceManager.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/TCP-State-Machine/StateMachine/TJPConnectStateMachine.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/TCP-State-Machine/StateMachine/TJPConnectStateMachine.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/TCP-State-Machine/StateMachine/TJPConnectStateMachine.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/TCP-State-Machine/StateMachine/TJPConnectStateMachine.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/TCP-State-Machine/StateMachine/TJPConnectStateMachine.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/TCP-State-Machine/StateMachine/TJPConnectStateMachine.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/TCP-State-Machine/StateMachine/TJPConnectStateMachine.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/TCP-State-Machine/StateMachine/TJPConnectStateMachine.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPCoreTypes.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPCoreTypes.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPCoreTypes.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPCoreTypes.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkConfig.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkConfig.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkConfig.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkConfig.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkConfig.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkConfig.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkConfig.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkConfig.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkUtil.h b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkUtil.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkUtil.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkUtil.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkUtil.m b/iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkUtil.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V3_FinalProduct/Utility/TJPNetworkUtil.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/TJPIMCore/Utility/TJPNetworkUtil.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V1_BasicFunction/TJPNetworkManagerV1.h b/iOS-Network-Stack-Dive/CoreNetworkStack/V1_BasicFunction/TJPNetworkManagerV1.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V1_BasicFunction/TJPNetworkManagerV1.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/V1_BasicFunction/TJPNetworkManagerV1.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V1_BasicFunction/TJPNetworkManagerV1.m b/iOS-Network-Stack-Dive/CoreNetworkStack/V1_BasicFunction/TJPNetworkManagerV1.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V1_BasicFunction/TJPNetworkManagerV1.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/V1_BasicFunction/TJPNetworkManagerV1.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPConcurrentNetworkManager.h b/iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPConcurrentNetworkManager.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPConcurrentNetworkManager.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPConcurrentNetworkManager.h diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPConcurrentNetworkManager.m b/iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPConcurrentNetworkManager.m similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPConcurrentNetworkManager.m rename to iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPConcurrentNetworkManager.m diff --git a/iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPNetworkProtocol.h b/iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPNetworkProtocol.h similarity index 100% rename from iOS-Network-Stack-Dive/CoreNetworkStack/TransportLayer/V2_Concurrency/TJPNetworkProtocol.h rename to iOS-Network-Stack-Dive/CoreNetworkStack/V2_Concurrency/TJPNetworkProtocol.h