Wie programmiert man einen Resumemodus in VC++

Das Forum fĂĽr Programmierer und Systemadmins. Von Shell-, Perl- und PHP-Scripts bis zur objektorientierten Programmierung mit C++.

Wie programmiert man einen Resumemodus in VC++

Beitragvon George Homes » Fr 31 Mai, 2002 17:13

Ich habe einen kleinen Downloadmanager geschrieben, der die Dateien mit der Klasse CHttpFile liest. Jetzt weis ich nicht, wie ich den Dateizeiger meines Objektes verändern kann. Mit Seek funktioniert das nicht so wircklich. Muss ich vielleicht dem Server schon beim Verbindungsaufbau mit CHttpConnection::GetHttpConnection klarmachen, das man die Datei nicht von anfang an lesen will, sondern erst von einem bestimmten Punkt aus. Ich hab schon stundenlang die MSDN geschmökert und komme nicht drauf wie ich das machen soll. Bitte helft mir.
George Homes
 

RE: Wie programmiert man einen Resumemodus in VC++

Beitragvon mad » Fr 31 Mai, 2002 17:50

> Muss ich vielleicht dem Server schon beim Verbindungsaufbau mit
> CHttpConnection::GetHttpConnection klarmachen, das man die Datei nicht von
> anfang an lesen will, sondern erst von einem bestimmten Punkt aus.

ab http-protokoll 1.1 kannst du dem GET request einen "Range:"-header
mitschicken, der spezifiziert welchen teil der datei du haben willst; also zb

GET /foobar.html HTTP/1.0
Range: bytes=5000-

damit beommst du alles ab 5000 bytes ..
genauer beschrieben stehts in ... na wo wohl ... rfc2068.

mfg,
mad.
mad
 

RE: Wie programmiert man einen Resumemodus in VC++

Beitragvon George Homes » Sa 01 Jun, 2002 11:02

Danke fĂĽr die schnelle Antwort. Damit dĂĽrfte ich es hinkriegen.
George Homes
 

RE: Wie programmiert man einen Resumemodus in VC++

Beitragvon Woolf » Do 25 Jul, 2002 08:06

(cool also kann man das auch mit php machen, so nen downloadmanager)

Frage dazu:

Und wie mach ich das dann bei nem FTP-Protokoll???
Woolf
 

RE: Wie programmiert man einen Resumemodus in VC++

Beitragvon mad » Do 25 Jul, 2002 18:45

> Und wie mach ich das dann bei nem FTP-Protokoll???

naja .. mit ftp funktionierts aehnlich; aber ftp is halt ein bisserl "tricky"
weilst ja nicht nur eine connection hast, sondern deren zwei.
(eine control- und ein data-connection)

dann sendest dem ftp-server (ueber die control-connection) ein "REST 17000"
und gleich im anschluss ein "RETR foo.bar"; dann sollte dir der ftp server das
file "foo.bar" ab dem byte 17000 ueber die daten-connection zuruecksenden ...

nachzulesen @ rfc765.

mfg,
mad.
mad
 


ZurĂĽck zu PROGRAMMIER FORUM

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast