[résolu] Un débit bizarre
SalutÂ
J'ai un gestionnaire de téléchargements et je voudrai gérer le débit.
Normalement avec mon 56k je vais à 3Ko/sec. Or, j'obtiens pour tout download du 1.4Ko/sec :
Normal ou pas normal ?
Merci d'avance,
Louka.
J'ai un gestionnaire de téléchargements et je voudrai gérer le débit.
Normalement avec mon 56k je vais à 3Ko/sec. Or, j'obtiens pour tout download du 1.4Ko/sec :
<br />- (void)download:(NSURLDownload *)download didReceiveDataOfLength:(unsigned)length<br />Â Â Â NSString* lengthCorrect;<br /> lengthCorrect = [NSString stringWithFormat:NSLocalizedString(@"%0.1fKo/sec",nil),(length/1000)];<br />NSLog(@"%@", lengthCorrect);<br />
Normal ou pas normal ?
Merci d'avance,
Louka.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
ben déjà , je diviserai par 1024 pour être plus précis (1Ko=1024 octets).
Et ensuite, dans cette mtéhode, je crois que le length est le nb d'octets reçus depuis le dernier appel donc ca ne te permet pas de calculer la vitesse ?!
Surtout que la méthode n'est pas appelée 1 fois par seconde si ?
Donc il faudrait connaitre le temps entre 2 appels pour bien faire.
pourtant,
Et bytesReceived devient le poids téléchargé. Donc si j'additionne avec 0 (bytesReceived au tout début) et que je lui rajoute length (le poids reçu à l'instant t), j'obtiens le poids téléchargé à cet instant. Et donc, length est bien le débit.
donc si tu veux une vitesse moyenne, au début de ton Dl, tu stocke la date.
A chaque fois que tu veux rafraichir ou afficher ta vitesse, tu calcules :
vitesse = (Nb octets reçus depuis le début)/(maintenant-daté début dl) (tout ça en secondes évidemment)
Si tu veux une vitesse instantanée alors la formule se transforme en
vitesse instantanée=(Nb octets reçus depuis le dernier rafraichissement)/(maintenant-daté dernier rafraichissement) (tout ça en secondes évidemment)
Dans ton explication, j'ai pas tout compris.
Si tu as reçu 1.4 Ko en 1 sec, ton débit est bien 1.4Ko/sec mais si tu l'as reçu en 2 sec, il sera de 0.7 Ko/sec.
//
Petite correction aussi sur ce que j'ai dit :
(j'avais mis "%0.1fKo/sec" et aussi  "length/1024" alors que c'est "(float)length/1024")
//
Et tu as bien raison, en fait il fait cette opération en moins d'une seconde.. ça fait que en fait j'ai récupéré le débit de moins d'une seconde.. la preuve :
Donc logiquement, je devrais avoir ENVIRON 2x1.4Ko / sec
Pour avoir un vrai débit il faut diviser la quantité d'octets reçus par le temps depuis le début du téléchargement... Comme n'arrête pas de te dire LeChatNoir.
Pourquoi tu t'entêtes à ne pas vouloir intégrer cette date de début de téléchargement quelquepart ? Pour pouvoir faire le calcul ensuite, qui finalement n'est pas méchant ?
Il fonctionne par paquet de 1.4Ko.
Et il t'en ramène 2 paquets par sec. environ (à la louche).
C'est pas super, même pour un modem 56 Ko (un 56 K devrait pouvoir monter à 7 Ko/sec à peu près... au max).
Mais peut être est ce le site en face qui n'est pas rapide...
D'ailleurs je test je test...
Voilà j'ai réussi :
Merci Renaud :adios!: