URLから大きなファイルを非同期でダウンロードし、データを処理する前に特定のサイズにバッファ(たとえば4096バイト)を埋め込む必要があります。 NSURLConnection
のようなビルトインオブジェクトを使うのは素晴らしいことですが、いくつかの問題があります。Objective-C:URLから特定のバッファサイズを読み取る
NSURLConnection
とすると、didReceiveData:data
メッセージは、いつ発火するかを決定します。たとえば、最初に954バイトを受け取った後、ダウンロードが完了するまで1048バイトを受け取ることがあります。とにかく私はNSURLConnection
私は受信メッセージを発射する前に必要なバッファサイズに読み込むように強制的に変更することはできますか?
私もCFNetworkクラスを使ってみましたが、これはもっと難しくなり、可能であれば避けたいと思います。
よく知られているAsyncSocket
クラスを使用してこれを実現できますが、HTTPヘッダーを解析する必要があり、他のWebサーバー構成で問題が発生する可能性が高くなります。
ありがとうございます。
完璧、ありがとう! – Jim