AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi indy getHttp dauert ewig im vergleich zum aufruf aus browser
Thema durchsuchen
Ansicht
Themen-Optionen

indy getHttp dauert ewig im vergleich zum aufruf aus browser

Ein Thema von maz · begonnen am 16. Nov 2007 · letzter Beitrag vom 17. Nov 2007
Antwort Antwort
maz

Registriert seit: 19. Mär 2007
Ort: Wien
4 Beiträge
 
#1

indy getHttp dauert ewig im vergleich zum aufruf aus browser

  Alt 16. Nov 2007, 13:36
hallo leute!
ich rufe über einen indy http client eine seite auf (perl script das ein xml file ausspuckt) und dieses file speichere
ich dann. (Delphi7)

Delphi-Quellcode:
fcontent:=tmemorystream.Create;
fcontent.Clear;
id:=Tidhttp.Create(application); //indy http client create
id.RecvBufferSize:=80000000;
id.InputBuffer.SetSize(80000000);
id.Get(URL,FContent);
fcontent.SaveToFile(saveas);
id.Destroy;
Das funktioiert auch. nur folgendes problem: mach ich das über firefox, speichert er das xml (~55MB) sehr flott.
Im "networking" tab des win-taskmanagers sieht man auch wie die auslastung auf ~5% hochschnellt. wenn ich das nun über mein programm mache (genau der selbe request string) dann dauert das sehr lange und man sieht auch das die "networking" auslastung gerade mal so um 0.5% schwankt.
Wie man sieht hab ich schon probiert den recieve indy-buffer höher zu drehen, auch habe ich das ganze in einen task ausgelagert der mit high priority läuft. alles ohne erfolg.

bin dankbar für jeden tipp, wie ich das schneller machen kann.
mm
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: indy getHttp dauert ewig im vergleich zum aufruf aus bro

  Alt 16. Nov 2007, 13:51
Könnte dir höchstens raten, die Verbindung über normale TCP Komponenten herzustellen und die GET Header manuell zu schicken.
  Mit Zitat antworten Zitat
hinnack

Registriert seit: 18. Nov 2004
22 Beiträge
 
#3

Re: indy getHttp dauert ewig im vergleich zum aufruf aus bro

  Alt 17. Nov 2007, 17:11
hi,

ich habe das gleiche Problem - dachte jedoch bisher, das mein Flaschenhals die synchrone statt asynchrone
Verarbeitung meines Streams wäre...
meine Anwendung ist höchstens halb so schnell wie WinInet (IE) - hatte bisher aber keine Zeit
dem wirklich auf den Grund zu gehen.
wenns schnell gehen muss: nimm entweder die WinInet API selbst oder die Download-Komponente von EmbeddedWB
(http://www.bsalsa.com)

Gruss

Hinnack
  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 23:59 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