1

いくつかのファイルを含むリモートサーバーがあります。AsyncSocketを使用して、チャンクごとにファイルをダウンロードしたいと思います。ソケットを介して範囲を含むHTTPリクエストを送信し、適切なデータのチャンクを取得したいと思います。ローカルホストでこれを行う方法は理解していますが、リモートサーバーからは理解していません。connectToHostメソッドとacceptOnInterface(以前はacceptOnAddress)メソッドの使用方法が本当にわかりません。

助けてください

ありがとう

4

1 に答える 1

0

AsyncSocketは、汎用のデータ接続です。HTTPと通信させたい場合は、HTTP部分を自分でコーディングする必要があります。あなたはおそらくこれを実際には望まないでしょう。NSURLConnectionサーバーがそれをサポートしていれば、あなたが望むことをするはずです。

あなたが求めているのはRange:HTTPのヘッダーです。RFC2616の14.35.2を参照してください。このヘッダーをに追加する必要がありますNSURLRequestAccept-Ranges:繰り返しますが、これは、話しているサーバーがこれをサポートしていることを前提としています(応答のヘッダーを確認する必要があります)。

Surgeworksに、これに関するサンプルコードを含む短い記事があります。

また、 ASIHTTPRequestも確認する必要があります。これには、再開可能なダウンロードとダウンロードの進行状況のデルゲートが含まれており、部分的なダウンロードの実行に適応できる可能性があります。それはあなたが解決しようとしている特定の問題に対する解決策をすでに持っているかもしれません。

于 2010-02-24T16:57:50.403 に答える