Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Schnellst moeglichste Mewthode von Download einer Datei.. (https://www.delphipraxis.net/56823-schnellst-moeglichste-mewthode-von-download-einer-datei.html)

lucius 11. Nov 2005 19:47


Schnellst moeglichste Mewthode von Download einer Datei..
 
Hi Leute ich arbeite lediglig an einem Program was eine XML-Datei (115,6kb) Gross von einer Webseite download und dan parst auf der Festplatte.
Jetzt mache ich das mittels
Delphi-Quellcode:
SaveURLToFile('http://www......);

procedure THaupt.SaveURLToFile(url, fileName: string);
var
  s: TStream;
begin
  s := TFileStream.Create(fileName, fmCreate);
  HTTP.Get(url, s);
  s.Free;
end;
Jetzt ist es so das das Programm spaeter mal arbeiten muss mit verschiedene Bandbreiten.
Nicht jeder hat nen Super Internet Anschluss.
Kann man diesen Vorgang auch besser(schneller), sprich sicherer macher.
Wass wuerdet ihr machen?

Jelly 12. Nov 2005 09:14

Re: Schnellst moeglichste Mewthode von Download einer Datei.
 
Zitat:

Zitat von lucius
Kann man diesen Vorgang auch besser(schneller), sprich sicherer macher.
Wass wuerdet ihr machen?

Wie stehen bei dir denn schneller und sicherer in Relation :gruebel:

Eine Datei von 116 kB bei einem analogen Anschluss mit 33 kBit dauert nun mal ne knappe halbe Minute. Wa willst Du daran bitte schön ändern.

CalganX 12. Nov 2005 10:39

Re: Schnellst moeglichste Mewthode von Download einer Datei.
 
Hi,
Zitat:

Zitat von lucius
Kann man diesen Vorgang auch besser(schneller), sprich sicherer macher.
Wass wuerdet ihr machen?

schneller machen wirst du hier gar nichts können. Sicherer auch nicht, denn wenn der File-Download abbricht, bricht er halt ab und daran kannst du auch nichts ändern. Aber bei 116KB macht das imho auch keinen Sinn, denn im Normalfall hat man 56k-Modems und die sollten in der Lage sein die Datei in einer akzeptablen Zeit herunterzuladen.
Was du machen könntest: du könntest die Datei gesplittet herunterladen, also immer nur teilweise. Allerdings musst du dich dazu ein wenig mit dem HTTP-Protokoll auskennen, weil ich nicht weiß, ob die Indy-Komponenten oder was auch immer du verwendest das ohne weiteres kann.

Und falls du diese XML-Datei mit MS XML öffnen und verarbeiten willst, kannst du auch direkt beim Öffnen eine Internet-URL angeben, afaik, dann brauchst du die Datei nicht runterladen, sondern das erledigt MS XML dann ganz alleine.

Chris

tommie-lie 12. Nov 2005 10:47

Re: Schnellst moeglichste Mewthode von Download einer Datei.
 
Zitat:

Zitat von Chakotay1308
Was du machen könntest: du könntest die Datei gesplittet herunterladen, also immer nur teilweise.

Meinst du parallel, wie es einige Downloadmanager gerne machen, oder nacheinander? Ersteres ist nur dann sinnvoll, wenn durch eine HTTP-Verbindung die Kapazität der Leitung nicht ausgenutzt werden kann, wenn also der Server aus irgendwelchen Gründen die Geschwindigkeit auf einen Maximalwert begrenzt, obwohl der Server eigentlich noch Upstream-Kapazitäten hätte. In allen anderen Fällen wird der durch zwei HTTP-Verbindungen erzeugte Overhead mehr schaden als nutzen.
Letzteres funktioniert nur, wenn der Server HTTP-Resume erlaubt. Dann wäre es allerdings auch sinnvoller, grundsätzlich nur an einem Stück runterzuladen und wenn die Verbindung abbricht später an dieser Stelle weiterzumachen, anstatt immer nur in Blöcken runterzuladen, auch wenn die Verbindung ein Runterladem am Stück erlaubt hätte.

ichbins 12. Nov 2005 11:07

Re: Schnellst moeglichste Mewthode von Download einer Datei.
 
welche Unit muss ich einbinden dammit ich das http hab?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 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