2012-03-27 3 views
0

in ASIHTTPRequest Klasse senden. Ich möchte herausfinden, welche Methode Daten sendet.In ASIHttpRequest CFReadStreamOpen ((CFReadStreamRef) [Selbstreadstream])) Daten nicht</p> <p>ich debuggen

Aber ich debugge bis zum Ende von StartRequest in der Hauptmethode von NSOperation. Ich kann keine Daten erfassen.

Da der Lesestream eine Socket-Verbindung mit dem vom Parameter myUrl angegebenen Server beim Erstellen der CFHTTP-Anforderung öffnet, muss eine gewisse Zeit verstreichen, bevor der Stream als offen betrachtet wird. Das Öffnen des Lesestreams bewirkt außerdem, dass die Anforderung serialisiert und gesendet wird.

Basis des oben genannte Dokument von Apple über „mit HTTP-Servern kommunizieren“

die meisten Chance, Daten zu senden ist der Code unten .Aber es nicht tun. Ich kann in wireShark nichts finden.

CFStreamClientContext ctxt = {0, self, NULL, NULL, NULL}; 
if (CFReadStreamSetClient((CFReadStreamRef)[self readStream], kNetworkEvents, ReadStreamClientCallBack, &ctxt)) { 
    if (CFReadStreamOpen((CFReadStreamRef)[self readStream])) { 
     streamSuccessfullyOpened = YES; 
    } 
} 

wo senden Daten ???? wie Buchse send oder sendto Funktion.

Antwort

0

ASIHTTPRequest baut auf der HTTP-Abstraktion von CFNetwork auf (siehe CFHTTPMessageCreateRequest und so weiter), so dass es niemals direkt 'send' auf einem Socket aufruft.

ASIHTTPRequest "sendet" Daten, indem CFHTTP angewiesen wird, es zu senden - z. CFHTTPMessageSetHeaderFieldValue.