AGB  ·  Datenschutz  ·  Impressum  







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

IdHTTP.Get Paketweise

Ein Thema von arbu man · begonnen am 14. Sep 2007 · letzter Beitrag vom 14. Sep 2007
Antwort Antwort
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

IdHTTP.Get Paketweise

  Alt 14. Sep 2007, 15:26
Hi,

mit dem Befehl IdHTTP.Get(URL) kann man je bekanntlich eine Webseite auslesen. Jedoch wird die Webseite als ganzes ausgegeben, was bei großen Daten lange dauert.
Ich möchte nun die Daten bereits haben wenn sie meinen Rechner erreichen, also in etwas so:
Delphi-Quellcode:
while es_können_noch_daten_gelesen_werrden do begin
  Paketinhalt := IdHTTP.LeseDaten;
  // Paketinhalt verarbeiten
end;
Wie ist so etwas möglich ?

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: IdHTTP.Get Paketweise

  Alt 14. Sep 2007, 16:37
Hmm? Was genau meinst du mit paketweise? Alles in gleichgroße Blöcke aufteilen, die rubnterladen und zusammenfügen, oder geht es nur darum, die daten gleich zu Speichern? Letzteres müsste mit einem Filestream eigentlich möglich sein. (Get ist ja mehrfach überladen)
Für die erste Varainte gibt könntest du mit idhttp.request.contentrangestart und idhttp.request.contentrangeend mehrere Packete herunterladen. Die Parameter erwarten jeweils den "Anfang des Pakets" und das "Ende des Pakets" in bytes. Die Gesamtdateigröße müsstest du über idhttp.response.contentlength nachdem du idhttp.head(url) aufgerufen hast erfahren können.

Ich beschäftige mich gerade auch mit so etwas, weil ich einen kleinen Downloadmanager schreiben will. Leider funzt der nicht, vllt werde ich dazu auch noch mal nen Thread eröffnen.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#3

Re: IdHTTP.Get Paketweise

  Alt 14. Sep 2007, 16:45
Nun ein Paket aus dem Internet erreicht meinen PC, nun wird dieses Paket von Indy irgentwo gespeichert bis alle Pakete des Seitenaufrufs eingetroffen sind. Danach werden alle Daten des Seitenaufrufs meinen Programm verfügbar gemacht.
Das will ich nicht. Ich möchte die ersten Daten schon benutzen wenn noch weitere eintreffen. Etwa so wie es Bei Flash Videos ist.
idhttp.request.contentrangestart kommt für mich nicht in frage, da dies Weiteren Traffic erzeugt von allen Servern unterstüzt werden musss etc.

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  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 14:23 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