NSURLConnection
(and )を使って大量のデータをサーバーに送りたいNSURLRequest
。このために、バインドされたNSStream
s のペアを作成します ( を使用CFStreamCreateBoundPair(...)
)。次に、入力ストリームをNSURLRequest
( -setHTTPBodyStream:
) に渡し、現在の実行ループで出力ストリームをスケジュールします。実行ループが続くと、データを送信するイベントを取得し、入力ストリームがこのデータをサーバーに送信します。
私の問題は、データがペアのストリーム間のバッファーに収まる場合にのみ機能することです。データが大きい場合、何らかの形で入力ストリームがイベントを取得します (「使用可能なバイト数」を想定しています) が、NSURLConnection はまだ入力ストリームを開いていません。これにより、エラー メッセージが出力され、データが送信されません。
-stream:handleEvent:
入力ストリームがまだ開かれていない場合は単純に返すことで、メソッドでこれをキャッチしようとしましたが、出力ストリームはストリームの閉じられたイベントを取得します (おそらく、可能なときにデータを送信しなかったためです)。
私の質問は次のとおりです: バインドされたストリームのペアを NSURLConnection で正しく使用するには?
(これが重要な場合:私はiOSプラットフォームで開発しています)
どんな助けでも大歓迎です!
乾杯、マーカス