Ermitteln Sie die Geschwindigkeit im Internet programmgesteuert

8

Ich weiß, mit der Erreichbarkeit können Sie überprüfen, ob Sie mit dem Internet verbunden sind. Aber gibt es eine Möglichkeit, die Geschwindigkeit dieser Verbindung zu bestimmen? Ich versuche, Upload-Geschwindigkeit sowie Download-Geschwindigkeit getrennt zu berechnen.

Wie kann ich die Geschwindigkeit im Internet programmatisch bestimmen?

    
iscavengers 29.02.2012, 08:53
quelle

2 Antworten

4

Wenn Sie NSURLConnection verwenden, um eine große Datei (z. B. 1 MB oder mehr) zu erfassen, können Sie eine Delegieren , um den Downloadfortschritt zu verfolgen.

Speziell: Wenn Sie den Unterschied in den heruntergeladenen Bytes und die Zeitdifferenz zwischen Aufrufen an den Delegaten messen, können Sie die fortlaufende Geschwindigkeit in Bytes pro Sekunde (oder einer anderen Zeiteinheit) berechnen.

    
Alex Reynolds 29.02.2012, 09:07
quelle
2

Schritt 1: Nehmen Sie die URL der herunterladbaren Datei und konfigurieren Sie sie mit NSURLSession und ihrer Methode dataTaskWithUrl .

Schritt 2: Integrieren Sie die Methode NSURLSessionDelegate, NSURLSessionDataDelegate in Ihren Controller.

Schritt 3: Nehmen Sie zwei CFAbsoluteTime Variable, die starTime speichern und weisen Sie CFAbsoluteTimeGetCurrent() und zweiten% stopTime in didReceiveData: Delegate-Methode zu.

Schritt 4: Zählen Sie die Geschwindigkeit wie folgt

%Vor%     
Bhavik Patel 19.01.2017 10:17
quelle

Tags und Links