AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datei in mehreren Teilen downloaden mit HTTP.get moeglich?
Thema durchsuchen
Ansicht
Themen-Optionen

Datei in mehreren Teilen downloaden mit HTTP.get moeglich?

Ein Thema von lucius · begonnen am 12. Dez 2005 · letzter Beitrag vom 14. Dez 2005
Antwort Antwort
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#1

Datei in mehreren Teilen downloaden mit HTTP.get moeglich?

  Alt 12. Dez 2005, 18:17
Guten Abend, Leute

Momentan hole ich mir ueber HTTP.Get eine Datei von cirka 600kb aus dem Internet.
Meine Frage, ist es auch moeglich diesen Prozess mit HTTP.Get in mehreren Schritten zu machen damit die Datei Stueckweise vom Server geholt wird?
Denke das ist sicherer dan alles auf einmal zu holen.

MFG Lucius.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 12. Dez 2005, 18:57
Guten Abend, Lucius.

Hast du diesen thread schon gelesen? klick

Du musst die Daten aber nicht schon von vorne herein gestückelt abrufen. Es reicht doch auch, wenn du den fehlenden Teil abrufst, sobald es auf Grund einer Fehlersituation nötig wird.

Grüße vom marabu
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 12. Dez 2005, 19:18
Guten Abend marabu, sieht gut aus der Thread.
Zitat:
Du musst die Daten aber nicht schon von vorne herein gestückelt abrufen. Es reicht doch auch, wenn du den fehlenden Teil abrufst, sobald es auf Grund einer Fehlersituation nötig wird.
Also wie du weisst hole ich mir die Daten ueber der SimpleRSS Komponente, die wiederum an der HTTP Komponente gekupelt ist.
Delphi-Quellcode:
SimpleRSS.IndyHTTP := idHTTP;
try
SimpleRSS.LoadFromHTTP('http://www.irgendwas/test.php');
except MessageDlg('Fehler! Keine Verbindung zum Server Server!'#13#10 + 'Neuer Versuch?', mtWarning, [mbOK], 0);
Kann ich dan trotsdem Request.ContentRangeStart und Request.ContentRangeEnd angeben?
Sagen wir ich moechte die Datei in 4 Teilen runterholen, wie soll das denn aussehen?
Delphi-Quellcode:
id HTTP.ContentRangeStart := 0;
id HTTP.ContentRangeEnd := 149;
SimpleRSS.LoadFromHTTP('http://www.irgendwas/test.php');
//2er Teil//
id HTTP.ContentRangeStart := 150;
id HTTP.ContentRangeEnd := 299;
SimpleRSS.LoadFromHTTP('http://www.irgendwas/test.php');
//3er Teil// unsw
Dauert das nicht laenger als wenn ich alles auf einmal downloade?

MFG Lucius.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#4

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 12. Dez 2005, 19:33
@lucius: Ahm so macht man des aber im normalfall nicht

Schon mal was von CodeLibary gehört steht auch viel drinnen. Klick
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 12. Dez 2005, 19:55
Lucius, du brauchst die Datei so oder so in einem Stück, damit du sie an SimpleRSS zum Parsen übergeben kannst. Wie ich schon vorhin geschrieben habe, würde ich die Stückelung nicht als Standard-Feature sehen, sondern als einen Notnagel, der nur gebraucht wird, wenn die Verbindung mal während der Übertragung verloren geht. Und ja, es dauert tatsächlich länger, als wenn du alles auf einmal runter lädst. Mit welcher Bandbreite gehst du denn ins Internet, dass du dir schon bei 600 KB Sorgen machst?

marabu
  Mit Zitat antworten Zitat
lucius

Registriert seit: 6. Okt 2005
Ort: Niederlande
215 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 12. Dez 2005, 21:09
Hi marabu,
Zitat:
Mit welcher Bandbreite gehst du denn ins Internet, dass du dir schon bei 600 KB Sorgen machst?
Ich habe nen 4MBit Anschluss mit 90kb/sec Upload, wenn die Application laeuft und ich habe MSN zusammen mit zb nen Torrentclient am laufen dann dauert es schon einige Sekunden bis der Update vollstaendig abgeschlossen ist und ich denke das liegt an der idHTTP Komponente.
Das ist es ja gerade er muesste doch eigentlich schnell fertig sein mit dem Downloaden und verarbeiten der Datei vom Server.
Ich benutze keinen Proxy und habe keinen Router.
Koennte ich die MaxLineLength und RecvBufferSize Property der idHTTP Komponente etwas vergroessern damit es schneller geht?
Beide stehen jetzt auf Defaultgroesse.

MFG Lucius.
  Mit Zitat antworten Zitat
Unplugged

Registriert seit: 14. Apr 2004
Ort: Leipzig
125 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Datei in mehreren Teilen downloaden mit HTTP.get moeglic

  Alt 14. Dez 2005, 07:25
naja man erwartet doch aber auch nicht, dass ein Update in weniger als einer Sekunde abgeschlossen ist?
Du kannst ja auch mal messen, mit welcher Geschwindigkeit die Daten empfangen werden. Ich meine, wenn der Server nur 30 kb/s beispielsweise gibt, dann dauert das halt seine Zeit.

Falls noch nicht enthalten, sollte natürlich vorher geprüft werden, ob ein Update notwendig ist. Ich weiß ja nicht, wie das aktuell bei dir abläuft.
  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 04:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz