NSURLRequest with HTTPBody input stream: Der Stream sendet ein Ereignis, bevor er geöffnet wird

Ich möchte mit @ eine große Datenmenge an einen Server sendNSURLConnection (undNSURLRequest). Dazu erstelle ich ein gebundenes Paar vonNSStreams (mitCFStreamCreateBoundPair(...)). Dann übergebe ich den Eingabestream an dasNSURLRequest (-setHTTPBodyStream:) und planen Sie den Ausgabestream in der aktuellen Ausführungsschleife. Wenn die Ausführungsschleife fortgesetzt wird, werden die Ereignisse zum Senden von Daten abgerufen und der Eingabestream sendet diese Daten an den Server.

Mein Problem ist, dass dies nur funktioniert, wenn die Daten in den Puffer zwischen den gepaarten Streams passen. Wenn die Daten größer sind, erhält der Eingabestream irgendwie ein Ereignis (ich nehme an, dass "Bytes verfügbar" sind), aber die NSURLConnection hat den Eingabestream noch nicht geöffnet. Dies führt dazu, dass eine Fehlermeldung gedruckt wird und die Daten nicht gesendet werden.

Ich habe versucht, dies in meinem @ zu fang-stream:handleEvent: -Methode, indem Sie einfach zurückgeben, wenn der Eingabestream noch nicht geöffnet ist, mein Ausgabestream jedoch ein Stream-Closed-Ereignis erhält (wahrscheinlich, weil ich nie Daten gesendet habe, wenn ich konnte).

So ist meine Frage: Wie verwende ich ein gebundenes Paar von Streams mit NSURLConnection richtig?

(Wenn es darauf ankommt: Ich entwickle auf der iOS-Plattform)

Jede Hilfe wird gebeten!

Cheers, Markus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage