AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke IdHTTP Downloadgeschwindigkeit...
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTP Downloadgeschwindigkeit...

Ein Thema von Z4ppy · begonnen am 17. Aug 2010 · letzter Beitrag vom 18. Aug 2010
Antwort Antwort
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

AW: IdHTTP Downloadgeschwindigkeit...

  Alt 18. Aug 2010, 15:18
Dein Code würde garantiert nicht gehen... Du verwendest AWorkCount im Timer, hast dieses aber nirgends gesetzt ^^
Einspruch: AWorkCount ist ein Parameter der an die Prozedur die mit OnWork verknüpft ist übergeben wird, also existiert er doch!

Round(1000*(AWorkCount-FBytes)/(GetTickCount-FTime))
Also das macht ja mal überhaupt keinen Sinn. Du vergleichst die Zeit ab dem Anfang des Downloads mit dem 1000-fachem Downloadvolumen, welches zwischen zwei Aufrufen von IdHTTPWork geladen wurde. Es muss +FBytes heißen. Außerdem musst du dann drunter auch FBytes:=AWorkCount + FBytes; schreiben.
Grund: Du willst ja eine mittlere Geschwindigkeit, nicht irgendwas.


Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: IdHTTP Downloadgeschwindigkeit...

  Alt 18. Aug 2010, 16:23
Dein Code würde garantiert nicht gehen... Du verwendest AWorkCount im Timer, hast dieses aber nirgends gesetzt ^^
Einspruch: AWorkCount ist ein Parameter der an die Prozedur die mit OnWork verknüpft ist übergeben wird, also existiert er doch!
Einspruch, er verwendet AWorkCount im OnTimer... Und der Timer übergibt kein AWorkCount

Round(1000*(AWorkCount-FBytes)/(GetTickCount-FTime))
Also das macht ja mal überhaupt keinen Sinn. Du vergleichst die Zeit ab dem Anfang des Downloads mit dem 1000-fachem Downloadvolumen, welches zwischen zwei Aufrufen von IdHTTPWork geladen wurde. Es muss +FBytes heißen. Außerdem musst du dann drunter auch FBytes:=AWorkCount + FBytes; schreiben.
Grund: Du willst ja eine mittlere Geschwindigkeit, nicht irgendwas.
Falsch, ich möchte die aktuelle Geschwindigkeit, die totale kann ich ausrechnen, ich weiss die totale Grösse und kann ja die Zeit messen von Anfang bis Ende mittels WorkBegin bzw. WorkEnd ^^
Nur war das Problem, dass eben das Interval zwischen den OnWork-Aufrufen zu klein war und da grosse Ungenauigkeiten auftraten und deshalb die Geschwindigkeit so schwankte.
Und der Ausdruck macht sehr wohl Sinn, GetTickCount liefert Millisekunden, mit dem Faktor 1000 gibt das dann wieder Bytes pro Sekunde. Ich könnte natürlich auch die Zeit durch 1000 teilen, das kommt aufs Gleiche raus.

MfG Z4ppy
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz