Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 01.09.13 19:12 
Guten Tag,
als ich folgenden Artikel las: www.pc-magazin.de/ra...nterladen-86273.html stellte ich mir im Hinterkopf ein paar Fragen.
Da ich gerne mehr darüber wissen möchte, ggf. mal ein ähnliches Programm (kleinerer Ausführung) programmieren möchte, stelle ich nun ein paar Zitate von dem oben genannten Link mit meinen Fragen/ Kommentaren, wäre nett wenn ihr euch dazu äußern könntet :)

Zitat:
Sowohl der Internet Explorer 7 als auch Firefox 2.0 enthalten technisch veraltete Download-Module. Und auch Opera, [...]

TCP-Verbindungen können veralten? bzw. was kann da nicht vollständig genutzt werden? kann man das mit einer einfachen Delphi Client-Server Verbindung vergleichen?

Zitat:
Vor allem bei größeren Dateien bringt das Aufteilen und parallele Herunterladen in kleineren Segmenten über mehrere Verbindungen Vorteile

Das hieße ja, es wird eine Quelle mehrfach angezapft und somit die Downloadgeschwindigkeit anderer Downloader gehämmt, da man sozusagen 3 von 100 Usern ist und die anderen nur 1 von 100.. Ebenfalls: wenn alle "Downloaduser" das nutzten würden, wäre es endgültig genau so schnell und der Server mit den vielen Clients eher überfordert oder?
Zitat:
Das klappt bei allen Sites, die mehrere Download-Anfragen von einer IP-Adresse zulassen
bestätigt meine Ansicht

Zitat:
Ohne Download-Manager müssten Sie in vielen Fällen wieder komplett von vorne beginnen

Wie kann man denn "bei jedem Download" den Download in der mitte beginnen?
Wenn ich z.B. ein "Download-Server" hätte, und ich keine eingebaute "download-ab" Funktion/flag (Paket ID) hätte, würde das meineswissen nicht gehen oder?
Falls ich diese einbauen müsste, woher kennt der "download" Manager die Paket ID und den Aufbau des Paketes?

Zitat:
Wie der Name schon verrät, kann DownThemAll alle auf einer Webseite verlinkten Dateien in einem Rutsch herunterladen

mhh.. wenn dann müsste das Programm ja alle Dateien auf dem Server kennen !
Gibt es eine Möglichkeit von einer Website alle "Teile" zu sehen (wie als wenn ich per FTP darauf zugreifen würde) oder werden nur die auf der Website aufgeführten links "gedownloaded" ?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 01.09.13 19:25 
Fast alles richtig.

user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann man denn "bei jedem Download" den Download in der mitte beginnen?
Wenn ich z.B. ein "Download-Server" hätte, und ich keine eingebaute "download-ab" Funktion/flag (Paket ID) hätte, würde das meineswissen nicht gehen oder?
Das ist der HTTP-Header Range im Request und Content-Range in der Antwort. Wenn der Server das nicht kann/will(z.B. wenn die Daten Schrittweise generiert werden), gehts halt nicht.

user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
Wie der Name schon verrät, kann DownThemAll alle auf einer Webseite verlinkten Dateien in einem Rutsch herunterladen

mhh.. wenn dann müsste das Programm ja alle Dateien auf dem Server kennen !
Verlinkt wie in "verlinkt" ;-) Wenn kein Link hinführt, weiß DTA auch nix davon.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: So 01.09.13 19:26 
Der Artikel ist übrigens von 2007 und zum Teil nicht mehr aktuell. Gerade die aktuellen Browser lasten aktuelle DSL Verbindungen schon gut aus. ;-)
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 01.09.13 19:31 
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Das ist der HTTP-Header Range im Request und Content-Range in der Antwort. Wenn der Server das nicht kann/will(z.B. wenn die Daten Schrittweise generiert werden), gehts halt nicht.

kann man das mit einem TCP-Server vergleichen (wie von einem von mir programmierten Download-Server?)

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 01.09.13 19:37 
user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
Das hieße ja, es wird eine Quelle mehrfach angezapft und somit die Downloadgeschwindigkeit anderer Downloader gehämmt, da man sozusagen 3 von 100 Usern ist und die anderen nur 1 von 100.. Ebenfalls: wenn alle "Downloaduser" das nutzten würden, wäre es endgültig genau so schnell und der Server mit den vielen Clients eher überfordert oder?
Nicht unbedingt. Wenn z.B. Pakete nicht ankommen, wartet man darauf, fordert sie erneut an, usw., zudem kommt es z.B. durch Latenzen zu Schwankungen.
Wenn man mehrere Verbindungen parallel hat, nutzt eine solche Schwankung dann eine der anderen Verbindungen aus, so dass du insgesamt eine konstantere Geschwindigkeit hast. Soweit zur Clientseite.

Auf Serverseite kann es natürlich zu genau dem von dir beschriebenen Effekt kommen, wenn denn der Server der Flaschenhals ist. Wenn der Server die Verbindung aber pro IP limitiert und nicht pro Verbindung, hilft dir das nicht weiter.

user profile iconIhopeonlyReader hat folgendes geschrieben Zum zitierten Posting springen:
kann man das mit einem TCP-Server vergleichen (wie von einem von mir programmierten Download-Server?)
Das ist ein HTTP-Server ja, ein TCP-Server, der das HTTP-Protokoll parst usw.
Schreibst du einen eigenen, kannst du dieses Flag natürlich genauso ignorieren wie du das bei einem der vorhandenen Server konfigurieren kannst.
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 01.09.13 20:14 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Das ist ein HTTP-Server ja, ein TCP-Server, der das HTTP-Protokoll parst usw.
Schreibst du einen eigenen, kannst du dieses Flag natürlich genauso ignorieren wie du das bei einem der vorhandenen Server konfigurieren kannst.


warum ignorieren? ich müsste es überhaupt einmal einbauen oder?
wenn ich einen Downloadserver mit TServersocket bauen würde und aufs clientconnect Ereignis anfängen würde eine Datei oder sonst was zu senden!
wie soll es dann möglich sein mitten drin anzufangen?
wenn auf dem Server sagen wir 16384 Pakete á 64 kb liegen (insg. 1 GB) und ich dann Client für Client durchgehe
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
//Beispielcode
For C:=1 to VerbundeneClients do
  begin
  SendStream( Paket[ VerbundeneClient[C].PaketNr );
  inc( Paket[ VerbundeneClient[C].PaketNr );
  if Paket[ VerbundeneClient[C].PaketNr >= High(Paket) then 
    VerbundeneClient.Socket.Close;
  end;

natürlich wäre eine "mitten drin steig ich ein"-Methode leicht einzubauen! aber IST nicht eingebaut, wie also darf ich das "ignorieren" verstehen?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 01.09.13 21:28 
Das ist so aber auch erst einmal kein HTTP-Server.
Der parst ja das Protokoll. Und da kann das Flag ja nun einmal vorkommen und du kannst es ignorieren. Ankommen kann es ja trotzdem.
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 01.09.13 22:31 
Tuning

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

www.heise.de/netze/a...chrauben-224314.html

help.globalscape.com...rformance_Tuning.htm
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mo 02.09.13 12:53 
wie könnte ich von einem Downloader herausfinden mit wem er wie (IP, Port, TCP/UDP) verbunden ist und wie kann ich dann mittendrin beginnen?

geht das "einfach" mit Delphi? oder wirkt es nur einfach und steckt sehr viel mehr dahinter?

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 02.09.13 14:36 
Du kannst Wireshark benutzen. In 99,9% der Fälle dürfte das normale HTTP Protokoll benutzt werden...
Janina
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 20.11.13 23:34 
Finde auch, dass "Wireshark" ein sehr brauchbares Programm ist.

Allerdings sind die Downloads mit den heutigen DSL Anschlüssen schon sehr schnell, oder . Anders siehts im mobilen Bereich aus. Da würde mich mal interessieren, wie man die Tablet Downloadgeschwindigkeit beschleunigen könnte ... Da fühle ich mich schon oft von genervt.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 20.11.13 23:40 
user profile iconJanina hat folgendes geschrieben Zum zitierten Posting springen:
Anders siehts im mobilen Bereich aus. Da würde mich mal interessieren, wie man die Tablet Downloadgeschwindigkeit beschleunigen könnte ... Da fühle ich mich schon oft von genervt.
Mit einem Surface via Tethering mit dem Smartphone im Vodafone Netz bekomme ich real schon oft 1 MiB/s, viel mehr hab ich per DSL auch nicht. ;-)