CFtpConnection kann nur eine Datei gleichzeitig runterladen
-
Hi Leute,
ich hab ein Problem: Wenn ich per CFtpConnection mehrere Dateien herunterladen möchte geht das nicht, da nach CFtpConnection::OpenFile nur noch Read, Write, Close und Close zulässig sind. Ich kann aber auch keine zweite FtpConnection aufmachen, da der Server nur eine Verbindung pro Host erlaubt. Ich muss aber mehrere Dateien
gleichzeitig herunterladen können. Hat jemand ne Idee, wie ich das anstellen könnte?Danke
-
Hi!
Probier mal http://www.codeguru.com/internet/ftpget.htmlmfg
-
ne ...
http://www.codeguru.com/ schrieb:
int CFtpGet::GetMultipleFile(CStringArray *remoteArray, CStringArray *localArray, int number_file) { // init some var BOOL goodfile; int x=0; int nb_lost_file =0; // while loop to transfer every file in the array while(x<number_file) { // try to get file goodfile = pFtpConnection->GetFile(remoteArray->GetAt(x), localArray->GetAt(x), FALSE, FILE_ATTRIBUTE_NORMAL, FTP_TRANSFER_TYPE_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE); missed[x] = goodfile ? 0 : 1; // if failed, missed[x] become 1 // if good, missed become 0 if(missed[x]) nb_lost_file++; // if the file was missed, increase the number of // missing file. // increase to the next file x++; } //return the number of missing file, if any. return nb_lost_file; }Der Code lädt die Dateien auch nur nacheinander runter ...
-
Keine Ideen mehr?
-
Entweder öffnest du mehrere Sessions oder ziehst die Dateien nacheinander, anders geht es nicht.
-
FTP unterstütz den Befehl GET . Dieser lädt eine Datei unter Angabe des Filenamens runter. Wenn du alle runterladen möchtest dann musst du zuerst das DIR aufrufen und dann mehrere GET nacheinander machen.
-
Ich weiss, wie ich mehrere Dateien NACHEINANDER herunterlade. Ich will sie aber GLEICHZEITIG herunterladen!
-
Dann musst du z.B. 2 Mal einen Connect aufbauen und dann ganze Threaden
-
dEUs schrieb:
Ich kann aber auch keine zweite FtpConnection aufmachen, da der Server nur eine Verbindung pro Host erlaubt.
-
Dann hast du dir die Antwort selbst gegeben. Es geht nicht.
Wie soll es auch mit einem Socket gleichzeitig gehen.
FTP ist nicht anderes als eine Socketverbindung. Da du nur eine Socketverbindung hast kann es auch nicht gleichzeitig gehen.
Und zu FTP: Nich du lädtst die Datei runter sondern du gibst dem FTP-Server das Commando (GET) das er dir die Datei schicken soll.
-
Schade ...
-
dEUs schrieb:
Schade ...
Wer viel schreibt, weiß nicht viel, denkt selten nach und macht nix ->*auf anzahl der beiträge schiel*

SCNR