From de55c4061ccb4cf02b381b8b89c5f3c339e19b37 Mon Sep 17 00:00:00 2001 From: tangjiapeng Date: Thu, 22 May 2025 16:58:03 +0800 Subject: [PATCH] =?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 | 6 +++--- .../NetworkMonitor/Collector/TJPMetricsCollector.m | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 96a4fc4..6a5cd55 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ios-async-socket-explorer 是一个生产级TCP通信框架,来源于即时通讯领域实际工作经验(**已脱敏**)。展示了从**小型项目单 TCP 架构**,逐步演进为适用于中大型项目**多路复用架构**的过程,包含协议设计、架构解耦、高并发优化等核心实践。 **主要特性:** -- 支持峰值5k+并发连接的高性能架构,日均稳定处理10万+消息量 +- 支持峰值3k+并发连接的高性能架构,日均稳定处理10万+消息量 - 完善的弱网环境优化策略,包含指数退避重连算法和自适应心跳 - TLS加密与自定义二进制协议,保障通信安全性 - 企业级VIPER分层架构设计,单元测试覆盖率>90% @@ -88,7 +88,7 @@ client.sendMessageWithAutoRoute(mediaMsg) // 自动路由到媒体会话 ## 性能指标 -- **高并发能力**: 支持峰值5,000+并发连接,内存占用1.6GB (约320KB/连接) +- **高并发能力**: 支持峰值3000+并发连接,内存占用1.6GB (约320KB/连接) - **消息吞吐量**: 单连接峰值8,000 pps (约6.4 Mbps),基准测试环境(iPhone 14 Pro) - **线程效率**: 多线程切换耗时占比 < 3%,GCD优化调度 - **弱网表现**: 30%丢包环境下消息可达率>92%,平均延迟<800ms @@ -131,7 +131,7 @@ Socket通信模块架构 ``` +---------------------------------------------------+ | 应用层 | -| 使用统一API管理网络通信 | +| 使用统一API管理网络通信 | +---------------------------------------------------+ | v diff --git a/iOS-Network-Stack-Dive/ArchitectureExtensions/NetworkMonitor/Collector/TJPMetricsCollector.m b/iOS-Network-Stack-Dive/ArchitectureExtensions/NetworkMonitor/Collector/TJPMetricsCollector.m index 3cb143c..c3d305a 100644 --- a/iOS-Network-Stack-Dive/ArchitectureExtensions/NetworkMonitor/Collector/TJPMetricsCollector.m +++ b/iOS-Network-Stack-Dive/ArchitectureExtensions/NetworkMonitor/Collector/TJPMetricsCollector.m @@ -325,13 +325,13 @@ - (void)recordEvent:(NSString *)eventName withParameters:(NSDictionary *)params #pragma mark - 线程安全操作 - (void)performLocked:(void (^)(void))block { - NSLog(@"准备获取锁 - 线程: %@", [NSThread currentThread]); +// NSLog(@"准备获取锁 - 线程: %@", [NSThread currentThread]); os_unfair_lock_lock(&_lock); - NSLog(@"已获取锁 - 线程: %@", [NSThread currentThread]); +// NSLog(@"已获取锁 - 线程: %@", [NSThread currentThread]); block(); - NSLog(@"准备释放锁 - 线程: %@", [NSThread currentThread]); +// NSLog(@"准备释放锁 - 线程: %@", [NSThread currentThread]); os_unfair_lock_unlock(&_lock); - NSLog(@"已释放锁 - 线程: %@", [NSThread currentThread]); +// NSLog(@"已释放锁 - 线程: %@", [NSThread currentThread]); }