Ich versuche gerade ein Programm zu scheiben, welches eine Internetseite nach bestimmten Dateien durchsucht und diese dann herunterlädt. Das klappt insgesamt auch schon recht gut - dass einzige was mich noch nicht wirklich überzeugen kann, ist die dabei erzielte Downloadgeschwindigkeit.
Bei Nutzung der
"urldownloadtofile" Funktion erreicht das Programm schlappe
150-200 kB/s.
Also hab ich den Download mit den Indy-Komponenten umgesetzt. Mit einem schnörkellosen
"IdHTTP.get(...)" (ich weise lediglich Server/URL zu und gebe im IdHTTP.onwork-Ereigniss den Fortschritt bzw. die Durchschnittsgeschwindigkeit aus) erreiche ich immerhin ca.
300 kB/s.
Zum Vergleich: Ein richtiger Downloadmanger (z.B. FDM FreeDownloadManager) kommt beim entsprechenden Zielserver auf ca. 500 kB/s wenn die Datei nur mit einem Segment heruntergeladen wird. Bei mehreren Segmenten je Datei wird die maximale Geschwindigkeit meines Anschlusses (DSL6000) von knapp über 700 kB/s vol ausgenutzt.
Daher meine Frage: gibt es Einstellungen oder andere Wege, bei Indy mehr Geschwindigkeit herauszuholen? Oder muss ich ggf. eine andere (kostenlose!) Komponente nutzen?
Für jegliche Tipps oder Lösungsansätze wäre ich euch dankbar! Hier im Forum gabs irgendwie nur Beiträge zum drosseln der Geschwindigkeit - deren Probleme hätte ich auch gerne...
P.S.: nutze Delphi 6 PE