2016-11-21 4 views
0

Ich versuche herauszufinden, wie viele Daten von meinen Anfragen mit AFNetworking gesendet/empfangen werden. Welche Best Practices zur Lösung dieses Problems gibt es?Verfolgen der Datennutzung für Netzwerkanforderungen mit AFNetworking

Beispiel:

  • tun, um eine GET an einen Endpunkt fakeapi/downloadlist
  • Ich möchte wissen, wie viele Bytes an den Server gesendet wurden und wie viele Bytes wurden wieder aufgenommen.

Vielen Dank für Ihre Hilfe!

Antwort

0

Nehmen wir die GET:parameters:success:failure:method auf die AFHTTPSessionManager für die Durchführung einer GET-Anfrage. Die Erklärung für das Verfahren ist:

- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(nullable id)parameters 
    success:(nullable void (^) (NSURLSessionDataTask *task, id _Nullable responseObject))success 
    failure:(nullable void (^) (NSURLSessionDataTask *_Nullable task, NSError *error))failure; 

Es gibt zwei Blöcke von Interesse hier: Ein für den Erfolg (sehr elegant success genannt) und eine weitere für ein failure in der Anfrage.

Beide Blöcke geben einen Parameter vom Typ NSURLSessionDataTask zurück (der im Fehlerfall nullbar ist. Wenn dies der Fall ist, gab es keine Antwort, höchstwahrscheinlich, wenn keine Internetverbindung besteht). Nach dem Apple Documentation for NSURLSessionDataTask, die von NSURLSessionTask erbt, ist es möglich, die Antwort zu bekommen einige andere Eigenschaften Objekt (werfen Sie einen Blick auf die Symbole Abschnitt der Dokumentation):

int bytesReceived = ((int)[task countOfBytesReceived]); 
int bytesSent  = ((int)[task countOfBytesSent]); 
// Do something with the numbers from here... 

Weitere von hier zu sehen, auf die Symbols for NSURLSessionTask und nehmen Sie alles andere, was Sie brauchen.

Verwandte Themen