Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Quelltexte schnell herunterladen... *sehr* schnell :) (https://www.delphipraxis.net/43900-quelltexte-schnell-herunterladen-%2Asehr%2A-schnell.html)

Meflin 10. Apr 2005 14:24


Quelltexte schnell herunterladen... *sehr* schnell :)
 
Moin,

ich habe ein kleines performanceproblem: ich bastel ein tool, welches versucht, die struktur einer webseite im eplorer-stiel darzustellen. dazu lädt es die quelltexte herunter und wertet die links dieses dokuments aus. nur das herunterladen dieser quelltexte dauert bei mir recht lange, so 1-2 sekunden für eine seite, während meine vergleichsanwendung, der acunetix scanner, in dieser zeit bestimmt 20 seiten schafft.
nun stellt sich mir die frage, wie lädt man schnell die quelltexte einer webseite herunter?


flomei 10. Apr 2005 14:26

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Vielleicht "parallel" mit Threads?!?

MFG Florian :hi:

moritz 10. Apr 2005 14:33

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Ich vermute, du machsts das momentan noch mit den Indys. Da wird jedesmal eine neue Verbindung aufgebaut. Wenn du das mit den Winsocks machst, kannst du einmal die Verbdindung aufbauen, und dann einfach alle Websiten herunterladen. Und ansonsten oder auch dafür: Threads!

bigg 10. Apr 2005 14:43

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Ping den Server vorher an, bevor du versuchst die Seite herunter zu laden.

Meflin 10. Apr 2005 14:51

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Zitat:

Zitat von bigg
Ping den Server vorher an, bevor du versuchst die Seite herunter zu laden.

das bringt mir keinerlei geschwindigkeitszuwachs :gruebel:

@moritz: bisher hab ichs mit einer funktion versucht, denke aus der codelib, ich hab sie leider nicht mehr, jedenfalls noch nichtmal mit den indys. mal schaun wie das mit den sockets geht...

an multithreading habe ich prinzipiell auch schon gedacht, aber bringt das so viel?


SirThornberry 10. Apr 2005 14:54

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
klar bringt multitheading viel weil du mehrere seiten gleichzeitig runterlädst und nicht erst wartest bis der eine download abgeschlossen ist. Der hauptteil der zeit bei den meisten seiten geht für das connect drauf und dabei wird die verfügbare geschwindigkeit nicht voll genutzt, also ist es schneller mehre connects und downloads gleichzeitig laufen zu lassen.

bigg 10. Apr 2005 15:06

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Zitat:

das bringt mir keinerlei geschwindigkeitszuwachs
Wenn du meinst, war nur ein Vorschlag zur Optimierung.
Aber was red ich eigentlich, was soll auch passieren, wenn der Dienst down ist. :roll:

tommie-lie 10. Apr 2005 15:12

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Du könntest es auch mal mit HTTP-Pipelining versuchen, sofern du weißt, daß die Hosts alle HTTP/1.1 unterstützen.

@bigg: Deine Idee war ar nicht sooo schlecht, durch den Ping wird die Domain des Hosts einmal aufgelöst, und die IP kann man sich ja merken, dann spart man sich für's nächste Mal die DNS-Abfrage ;-) Aber Windows macht das glaube ich eh selber, wenn ich mich nicht irre.

Chewie 10. Apr 2005 15:26

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Zitat:

Zitat von tommie-lie
@bigg: Deine Idee war ar nicht sooo schlecht, durch den Ping wird die Domain des Hosts einmal aufgelöst, und die IP kann man sich ja merken, dann spart man sich für's nächste Mal die DNS-Abfrage ;-) Aber Windows macht das glaube ich eh selber, wenn ich mich nicht irre.


Müsste eigentlich. Anders gesagt: Ich kann mir nicht vorstellen, dass der Netzwerkstack von Windows DNS-Informationen nicht cacht.

moritz 10. Apr 2005 15:33

Re: Quelltexte schnell herunterladen... *sehr* schnell :)
 
Sers,

Meflin, schau dir mal meinen Code hier an, da kannst du die Grundlagen für Winsocks rauslesen.
Ansonsten: Auf jeden Fall Multithreading und keine Indys!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz