AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi idFTP mehrere Threads zum DL
Thema durchsuchen
Ansicht
Themen-Optionen

idFTP mehrere Threads zum DL

Ein Thema von starY · begonnen am 25. Dez 2004 · letzter Beitrag vom 7. Mai 2005
Antwort Antwort
starY

Registriert seit: 8. Mai 2004
18 Beiträge
 
#1

idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:09
Hallo,

ich bastel seit einiger Zeit an einem Downloadmanager für ftp und verwende dafür die indy komponente idFTP version 9, so mein Problem liegt nun darin dass ich es zwar hinkriege eine datei mit idftp1.get downzuloaden aber mir fehlt der rechte ansatz für mehrere paralle Threads. ich habe mir zwar überlegt 16 idftp Komponenten zu implementieren aber gibt es vielleicht noch eine andere Möglichkeit, zB vielleicht über idftp1.socket?



Florian
Florian
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:14
Was nützen dir mehrere Threads? Wenn du den Server um eine datei bittest, dann wird er dir immer die komplette Datei schicken. Du kannst den Server nicht sagen schick mir nur die Teile ab x Bytes bis y Bytes.

Desweiteren wärst du auch nicht schneller. Ein Thread nutzt die gesamte Bandbreite aus. Zwei Threads können maximal nur die Häfter der Bandbreite nutzen. Ob du jetzt zwei Threads hast die die Hälfte der Bandbreite nutzen oder einen der die volle nutzt bleibt sich gleich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#3

Re: idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:25
Bei vielen Servern ist die Bandbreite für einen Benutzer beschränkt, somit würden sich mehrere Therads schon rechnen( wenn bei diesem server auch eine beshcränkung gilt ).

Wenn du dein vorhanben so durchziehen willst, musst du jede der indy komponenten komplett in einem anderen Thread laufen. Jetzt könntest du aber das problem bekommen, dass bei einigen servern ein benutzer nur einmal eingeloggtsein darf, da sich jede instanz seperat einlogt.

mfg
  Mit Zitat antworten Zitat
St. Janos

Registriert seit: 25. Dez 2004
Ort: North Germany
12 Beiträge
 
#4

Re: idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:47
Zitat von Luckie:
Was nützen dir mehrere Threads? Wenn du den Server um eine datei bittest, dann wird er dir immer die komplette Datei schicken. Du kannst den Server nicht sagen schick mir nur die Teile ab x Bytes bis y Bytes.

Desweiteren wärst du auch nicht schneller. Ein Thread nutzt die gesamte Bandbreite aus. Zwei Threads können maximal nur die Häfter der Bandbreite nutzen. Ob du jetzt zwei Threads hast die die Hälfte der Bandbreite nutzen oder einen der die volle nutzt bleibt sich gleich.
LOL. so ein schwachsinn!
das erste funktioniert schon mal bei den ftpd's unserer zeit. resume funktion via REST befehl läst grüßen!
und der 2. angesprochende punkt is auch vollkommender quak mit soße! ein thread nutzt nur bei bestem routing/peering, kürzester distanz zwischen server & client und qualitativ hochwertiger rechner- und infrastruktur das maxima an bandbreite aus. selbst auf nationaler ebene kann man mit multithreading auch noch die letzten kbit aus der leitung quetschen und falls es um internettransfers geht sogar die seitens des providers gegebende maximale übertreffen. so macht es schon allein hier sinn, multhreading einzusetzen. weiter muss man bedenken, das bei einem internationalen oder interkontinentalen transfer die übertragung sowas von ausgebremst wird. hier kann man mit multithreading wieder viel wett machen. als letztes sei gesagt, dass man beim multithreading ja auch garnicht mal die gleiche datei in verschiedenen stücken transferen will. sondern vielleicht auch mehrere dateien nebeneinander! eigentlich erwartet man von einem mod nicht solche unfug-antworten....nächstes mal vllt. ein bissel mehr mit protokoll und rechnernetzen befassen und dann, wenn noch nötig, antworten.
  Mit Zitat antworten Zitat
starY

Registriert seit: 8. Mai 2004
18 Beiträge
 
#5

Re: idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:50
Da es, wie Hermes schon sagte, eine Thread-Geschwindigkeitsbegrenzung gibt, bringt es mir schon etwas, wenn die Threads parallel laufen. Es ist nicht gemeint, dass jede runterzuladene Datei 3 Tasks hat, sondern dass ich 16 dateien gleichzeitig runterlade. Da das tool für lan gedacht ist, trifft das Userlimit aber auch nicht zu Also hat keiner eine andere Möglichkeit außer mehrere Indy komponenten zu erstellen? es gibt noch idftp1.socket aber damit komm ich irgendwie nicht richtig zurecht.


Florian
Florian
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: idFTP mehrere Threads zum DL

  Alt 25. Dez 2004, 19:53
Was nützt es dir, wenn der Server Resume unterstützt? Du kannst trotzdem nicht nur Teile einer Datei anfordern. Bei den P2P Netzwerken geht das nur, weil die ein eigenes Protokoll implementiert haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#7

Re: idFTP mehrere Threads zum DL

  Alt 7. Mai 2005, 00:26
Ich möchte ebenfalls einen weiteren Thread erstellen. Allerdings kann ich keinen Code mehr nach dem "Get"-Befehl ausführen und zwar so lange nicht, bis der Download erfolgreich abgeschlossen wurde. (AntiFreeze habe ich implementiert, tut ja aber bei meinem Problem nichts zur Sache.)
  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 03:36 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