AFNetworking实现原理理解

AFNetworking实现原理理解

NSURLSession由三个基本模块构成:

  1. NSURLSession
  2. NSURLSessionConfiguation
  3. NSURLSessionTask

初始化Session时未指定delegate的,通过block回调返回数据。

NSURLSessionTask包括三种Task类型,

分别为:
1. NSURLSessionDataTask
2. NSURLSessionDownLoadTask
3. NSURLSessionUploadTask

网络请求的过程:

创建NSURLSessionConfig对象–用创建的config对象配置初始化NSURLSession–创建NSURLSessionTask对象并resume执行,用delegate或者block回调返回数据。

AFURLSessionManager封装了上述网络交互功能
AFURLSessionManager请求过程
1.初始化AFURLSessionManager。
2.获取AFURLSessionManager的Task对象
3.启动Task

AFNetworking由五个模块组成:

  1. NSURLSession:网络通信模块(核心模块) 对应 AFNetworking中的
    AFURLSessionManager和对HTTP协议进行特化处理的AFHTTPSessionManager,AFHTTPSessionManager是继承于AFURLSessionmanager的
  2. Security:网络通讯安全策略模块 对应 AFSecurityPolicy
  3. Reachability:网络状态监听模块 对应AFNetworkReachabilityManager
  4. Seriaalization:网络通信信息序列化、反序列化模块 对应 AFURLResponseSerialization
  5. UIKit:对于IOSUIKit的扩展库

你可能感兴趣的