TNMFTP Probs



  • Hi,

    ich habe eine anwendung, die dateien von einem ftp server laden soll.
    das problem ist, mal tut sie's, mal nicht. das dingen hört mitten im transfer auf. ich setze vor dem download schon "TYPE I" und vor jeder Datei "PASV" und FTP->Mode(MODE_BYTE).
    gibt es da irgendwelche bekannten probleme mit der verwendung vom ftp-protokoll?

    hab auch schon 2x das "NOOP" gesetzt, damit die verbindung erhalten bleibt. 😞

    //irgendwann vor dem download FTP1->DoCommand("TYPE I");
    
    //dann....
    
    if (cb_komplett->Checked == false)
          {
            m_info->Lines->Add(" "+ServerFile + " (" + IntToStr(carleft) + "/ " + IntToStr(carcount) + ")");
            carleft++;
            /*Manuelle FTP Commandos*/
            FTP1->DoCommand("NOOP");
            FTP1->DoCommand("PASV");
            FTP1->Mode(MODE_BYTE);
            FTP1->Download(ServerFile,LocalFile);
            FTP1->DoCommand("NOOP");
          }
    

    😞

    weiss evtl. jemand n tip oder rat?

    dankeschön im voraus

    sven



  • Zu deinem konkreten Problem kann ich nichts sagen, allerdings haben die FastNet-Komponenten allgemein einen eher schlechten Ruf.

    Einen guten Ruf hat hingegen das Indy-Paket, nicht ohne Grund gehört es seit dem BCB6 zum Lieferumfang.



  • Jansen schrieb:

    Zu deinem konkreten Problem kann ich nichts sagen, allerdings haben die FastNet-Komponenten allgemein einen eher schlechten Ruf.

    Ich hatte mal eine Frage in einer Borldand news group dazu gestellt. Ein Typ von TeamB erzählte dann irgend etwas von "major bugs" und verwies ebenfalls auf die Indy-Komponenten.



  • gibts eigendlich zu den Indy-komponenten auch eine deutsch doku ?
    mit der englischen kom ich von nicht bis garnicht zurecht.

    Meep Meep



  • mhh, danke....allerdings finde ich nur ne faq und ne help-datei....da drin steht abba nix von FTP->Connect() z.b.
    und ich wüsst schon gerne, wofür er da n boolean und n int als params erwartet. 😕



  • Sven K.,

    Sven K. schrieb:

    mhh, danke....allerdings finde ich nur ne faq und ne help-datei....da drin steht abba nix von FTP->Connect() z.b.
    und ich wüsst schon gerne, wofür er da n boolean und n int als params erwartet. 😕

    bool: automatisches Login nach Verbindungsaufbau
    int : timeout in ms

    Das steht in der Hilfe, auf die Du früher oder später zurückgreifen mußt.



  • Noch ne andere Frage.
    die Indykompos helfen mir auch nich weiter. Das Problem ist immer noch, dass der Transfer irgendwann abbricht.
    Ist es irgendwie nötig, eine 2. Verbindung zum Server zu haben, um dieselbe aufrecht zu erhalten?
    Langsam wirds mir zu doof mit dem Proggie. 😞 In der Hilfe steht nüschts darüber.

    Hat denn keiner weitere Erfahrungen damit?

    Danke und Gruss Sven



  • Meep Meep schrieb:

    gibts eigendlich zu den Indy-komponenten auch eine deutsch doku ?
    mit der englischen kom ich von nicht bis garnicht zurecht.

    Meep Meep

    http://www.tutorials.delphi-source.de/indy/index.shtml



  • Sven K. schrieb:

    ...die Indykompos helfen mir auch nich weiter. Das Problem ist immer noch, dass der Transfer irgendwann abbricht.

    Sven K.,
    ich habe noch nie was davon gehört, daß das an Indy liegen könnte. Vielleicht ist Deine Verbindung einfach nur schlecht oder der FTP-Server unterbricht automatisch nach einen bestimmten Zeitspanne.
    Um solche Probleme in den Griff zu bekommen, gibt es im FTP-Protokoll das REST-Kommando. Die Wiederaufnahme eines abgebrochenen Downloads gehört ja heute quasi schon zum Standard. Indy bietet dafür eine Überladung der Get-Funktion an:

    TIdFTP::Get(String fileName, TStream* stream, bool resume)
    

    Mehr dazu siehe Indy-Hilfe.


Anmelden zum Antworten