Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdHTTP -> Bandbreite begrenzen (https://www.delphipraxis.net/84574-tidhttp-bandbreite-begrenzen.html)

meisteralex 18. Jan 2007 17:23


TIdHTTP -> Bandbreite begrenzen
 
Hi Leute, ich schreibe gerade ein Programm, wo ich unternaderem mit der TIdHTTP-Komponenten Daten übertrage
Ich möchte nun jedoch einstellen können, welche Bandbreite für das senden der Daten maximal zur Verfüg steht
Also ich möchte die Bandbreite z.b. auf 20kb/s begrenzen könen
Jemand ne idee ?

Christian Seehase 18. Jan 2007 17:31

Re: TIdHTTP -> Bandbreite begrenzen
 
Moin Alex,

das wird ohne Hilfsmittel nicht gehen.
Unter XP steht Dir dafür BITS zur Verfügung.
Dessen Anwendung ist im PSDK dokumentiert.

meisteralex 18. Jan 2007 17:47

Re: TIdHTTP -> Bandbreite begrenzen
 
gibt keine andere möglichkeit ?

Union 18. Jan 2007 17:58

Re: TIdHTTP -> Bandbreite begrenzen
 
Miss doch die Bandbreite und baue delays ein, wenn der Grenzwert überschritten wird.

meisteralex 18. Jan 2007 18:12

Re: TIdHTTP -> Bandbreite begrenzen
 
was meinst du damit genau und wie geht das ?

Union 18. Jan 2007 18:19

Re: TIdHTTP -> Bandbreite begrenzen
 
Die Daten überträgst Du doch. Also weißt Du auch, welche Größe die Daten über einen gegebenen Zeitraum haben. Das ist die benutzte Bandbreite. Ist die Dir zu groß, baust Du Pausen in Dein Programm ein (Pseudocode):
Delphi-Quellcode:
BenutzteBandBreite := BandBreite(InLetzten30SekundenUebertrageneDaten, 30);
if BenutzteBandBreite > 20*1024 then
   Delay(BerechneVerzögerung(BenutzteBandBreite));
UebertrageDatenInSendePuffer;

meisteralex 18. Jan 2007 19:29

Re: TIdHTTP -> Bandbreite begrenzen
 
und was ist bei größeren dateien ?
nehmen wir an ich habe eine 10mb datei
ich kann ja den http-post nicht unterbrechen

Union 18. Jan 2007 19:33

Re: TIdHTTP -> Bandbreite begrenzen
 
Zitat:

Zitat von meisteralex
und was ist bei größeren dateien ?
nehmen wir an ich habe eine 10mb datei
ich kann ja den http-post nicht unterbrechen

Dann musst Du eben kieine 10Mb am Stück übertragen. Oder Du machst das in einer Progress-Funktion.

SirThornberry 18. Jan 2007 19:34

Re: TIdHTTP -> Bandbreite begrenzen
 
doch kannst du indirekt. Und zwar kannst du Streams verwenden bzw. empfangen. Wenn du dir also von TStream oder einem Nachfahren eine eigene Klasse ableitest kannst du in den Methoden ReadBuffer und WriteBuffer (ich hoff die hießen so, kann im Moment nicht nachschauen) ein Sleep etc. einbauen um das ganze zu verzögern.

meisteralex 18. Jan 2007 20:35

Re: TIdHTTP -> Bandbreite begrenzen
 
puh das ist glaub ich zu hoch für mich


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 1 von 2  1 2      

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