1

を使用して iOS にサーバーを作成し、へのGCDWebServer要求を受け入れてlocalhostから、別のデータurl(ビデオ ファイル) からデータを取得し、データを応答にストリーミングしたいと考えています。NSURLConnectionプレーンを使用するつもりdidReceiveDataで、NSURLConnectionコールバックの で、このデータを に渡したいですGCDWebServerResponse

リクエストからの接続を開いたままにして、 で別のリクエストNSURLConnectionを開始し、レスポンスへのデータの提供を開始できるようにする方法を理解するのに苦労しています。

それを行う方法はありますか?の新しいサブクラスを作成する必要がありGCDWebServerStreamedResponseますか?

前もって感謝します。

4

1 に答える 1

4

サブクラス化する必要はありませんが、インスタンス化してコールバックGCDWebServerStreamedResponseを使用するだけです。GCDWebServerAsyncStreamBlock

コールバックで、を作成し、NSURLConnection非同期で実行します。次に、新しいデータが利用可能になるたびに (たとえば から-didReceiveData:)、 を使用してそれを渡しGCDWebServerBodyReaderCompletionBlock、利用可能なデータがなくなったら、空の NSData を渡します。

同様の概念については、 GCDWebServer READMEの「高度な非同期バージョン」を参照してください。

于 2015-10-12T16:45:43.613 に答える