NSURLRequest com fluxo de entrada HTTPBody: o fluxo envia o evento antes de ser aberto

Quero enviar uma grande quantidade de dados para um servidor usandoNSURLConnection (eNSURLRequest) Para isso, crio um par deNSStreams (usandoCFStreamCreateBoundPair(...)) Depois passo o fluxo de entrada para oNSURLRequest (-setHTTPBodyStream:) e agende o fluxo de saída no loop de execução atual. Quando o loop de execução continua, recebo os eventos para enviar dados e o fluxo de entrada envia esses dados para o servidor.

Meu problema é que isso só funciona quando os dados se encaixam no buffer entre os fluxos emparelhados. Se os dados forem maiores, de alguma forma o fluxo de entrada recebe um evento (presumo "bytes disponíveis"), mas a NSURLConnection ainda não abriu o fluxo de entrada. Isso resulta em uma mensagem de erro impressa e os dados não estão sendo enviados.

Eu tentei pegar isso no meu-stream:handleEvent: simplesmente retornando se o fluxo de entrada ainda não estiver aberto, mas meu fluxo de saída recebe um evento de fluxo fechado (provavelmente porque nunca enviei dados quando podia).

Então, minha pergunta é: como usar um par de fluxos vinculado com NSURLConnection corretamente?

(Se isso importa: estou desenvolvendo na plataforma iOS)

Qualquer ajuda é apreciada!

Cheers, Markus

questionAnswers(1)

yourAnswerToTheQuestion