网络编程基础与Cocoa URL加载系统解析
1. 网络编程的重要性与挑战
在当今移动设备普及且始终联网的时代,网络编程至关重要。众多iOS应用都会以各种方式使用网络,如借助iCloud同步、GameKit通信框架,或直接与互联网服务器通信。然而,消费者的期望往往与广域移动网络(如EDGE、3G和HDPSA +)的能力和限制相冲突,这就要求应用程序员充分利用高延迟、低吞吐量的网络通道。
2. 网络编程核心原则
网络编程有以下核心原则:
- 永远不要从主线程访问网络。
- 尽可能使用异步网络原语。
- 对所有数据处理使用流。
- 保持数据处理和传输处理相互独立。
遵循这四条规则,就能更好地应对网络问题。
3. 本地文件系统与网络访问的差异
本地文件系统和网络访问存在显著差异,主要体现在以下两个方面:
- 延迟(Latency) :指访问资源所需的时间。本地磁盘的延迟通常是指底层存储介质的寻道时间;网络方面则指命令包的往返时间。
- 吞吐量(Throughput) :指数据发送到资源或从资源检索的速度。本地磁盘通常具有非常高的吞吐量,每秒可以移动数百兆字节;而网络的吞吐量可能从每秒数十兆字节到每秒几千字节不等。
此外,本地存储和网络的可用带宽情况也有所不同:
| 类型 | 可用带宽特点 |
| ---- | ---- |
| 本地存储 | 读写通常通过硬件总线进行,总线吞吐量比硬盘本身高。除非同时使用多个磁盘,否则整体吞吐量可能与特定
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



