AFNetworkingとASIHTTPRequestの違い

1つは、基盤となる実装です
1. AFNの基本的な実装は、OCベースのNSURLConnectionおよびNSURLSessionに基づいています。
2. ASIの基本的な実装は、純粋なC言語のCFNetworkフレームワークに基づいています。
3. NSURLConnectionとNSURLSessionはCFNetworkの上のカプセル化のレイヤーであるため、ASIの動作パフォーマンスはAFNの動作パフォーマンスよりも高くなります。
AFNetworkingアドレス:https//github.com/AFNetworking/AFNetworking
2.サーバーから返されたデータを処理する
1. ASIは、サーバーデータを処理する方法を直接提供せず、NSData / NSStringを直接返します。
2. AFNは、サーバーデータを処理するためのさまざまな方法を提供します
(1)JSON処理-NSDictionaryまたはNSArrayを直接返します
(2)XML処理-返されるデータはxmlタイプのデータであり、解析する必要があります
(3)その他の種類のデータ処理
3、リクエストプロセスを監視します
1. AFNは、要求プロセスを監視するために、成功と失敗の2つのブロックを提供します(成功と失敗のみを監視できます)
  • 成功:リクエストが成功した後に呼び出されます
  • 失敗:リクエストが失敗した後に呼び出されます
2. ASIは3セットのプログラムを提供し、それぞれがリクエストの完全なプロセスを監視できます。
(監視要求の開始、応答ヘッダー情報の受信、特定のデータの受信、受け入れの完了、要求の失敗)
  • エージェントになり、契約を遵守し、契約にエージェントメソッドを実装します
  • エージェントになり、契約に従わず、エージェントの方法をカスタマイズする
  • ブロックを設定する
第四に、ファイルのダウンロードとアップロードの使いやすさ
1、AFN
ダウンロードの進行状況とアップロードの進行状況を監視するの は簡単ではありません]ブレークポイントの再開を実現するは簡単ではありません。
*通常、小さなファイルのダウンロードにのみ使用されます
2、ASI
ダウンロードとアップロードの実装が 非常に簡単ダウンロードとアップロードの進行状況を監視するのが非常に簡単
非常容易实现断点续传 下载大文件或小文件均可
3、实现下载上传推荐使用ASI

五、网络监控
1、AFN自己封装了网络监控类,易使用
2、ASI使用的是Reachability,因为使用CocoaPods下载ASI时,会同步下载Reachability,但Reachability作为网络监控使用较为复杂(相对于AFN的网络监控类来说)
3、推荐使用AFN做网络监控-AFNetworkReachabilityManager
六、ASI提供的其他实用功能
1、控制信号旁边的圈圈要不要在请求过程中转
2、可以轻松地设置请求之间的依赖:每一个请求都是一个NSOperation对象
3、可以统一管理所有请求(还专门提供了一个叫做ASINetworkQueue来管理所有的请求对象)
  • 暂停/恢复/取消所有的请求
  • 监听整个队列中所有请求的下载进度和上传进度

おすすめ

転載: blog.csdn.net/clarence20170301/article/details/76229487
おすすめ