IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

FTP envoi de fichiers, EIdReadTimeout


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 617
    Billets dans le blog
    65
    Par défaut FTP envoi de fichiers, EIdReadTimeout
    Bonjour,

    c'est la première fois que je rencontre ce problème et ne sais de quoi il retourne

    Voici ma routine d'envoi, la connexion se passe bien par contre le put ne se fait pas c'est pourtant un petit fichier de quelques ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    procedure TDatas.ftpSend(Boutique, Source, destination: String);
    var idftp : TIdFtp;
    begin
    with TFDQuery.Create(Self) do
     begin
       Connection:=ConnexionBase;
       SQL.Text:='SELECT FTP_ADDRESS, FTP_USER, FTP_PASS FROM MAGASINS_PRESTASHOP WHERE ADDRESS CONTAINING :P';
       ParamByName('P').AsString:=Boutique;
       Open;
       IdFTP := TIdFTP.create(nil);
        try
           IdFTP.Host :=DeCryptString(FieldByName('FTP_ADDRESS').asString,GUIDPresta+InfosAuteur[0]);
           idftp.Port:=21;
           IdFTP.Username :=DeCryptString(FieldByName('FTP_USER').asString,GUIDPresta+InfosAuteur[0]);
           IdFTP.Password := DeCryptString(FieldByName('FTP_PASS').asString,GUIDPresta+InfosAuteur[0]);
           IdFTP.Connect; // OK
           if verbose AND idftp.Connected then  Writeln('Connecté , envoi de '+Source+' vers '+destination); // OK
           IdFTP.put(Source,Destination); // timeout
        finally
          idftp.Disconnect;
          IdFTP.Free;
        end;
        Close;
     end;
    end;
    1- Est-ce que je peux tracer un peu plus le problème ? Je pense que oui même si je ne m'y suis pas encore penché.
    2- Serait-ce un problème de fichier source non fermé (il est généré par un fdbatchmove) ? [Edit]un test sur un fichier déjà créé me retourne la même erreur
    L'ajout de idftp.NATKeepAlive.UseKeepAlive:=True; ne change rien
    3- autres pistes ?

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Passive à True ou False ?
    Lance FileZilla et regarde ce qu'il choisi entre PASV (Passive Mode) à la place de EPSV (Extended Passive Mode)
    Lorsque j'implémentais un TIdFTPServer, j'avais ce genre de problème en local host, en mettant Passive à True, plus de soucis de connexion ou perte de connexion
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    en FTP il y a toujours 2 connexions, sur le port 21 on envoie des commandes et sur un port aléatoire il y a échange des fichiers, le mode passif/actif indique qui est serveur sur cette deuxième connexion.

    du coup un firewall entre les deux peut autoriser le port 21 mais bloquer la deuxième connexion, souvent pour le mode actif car le client n'est pas accessible en tant que serveur, parfois le mode passif est lui aussi bloqué si le firewall bloque les ports aléatoires sans tenir compte des requêtes FTP (analyse intelligente de protocole)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 617
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Passive à True ou False ?
    Bien vu, je n'avais pas fait attention que c'était false par défaut (voilà ce que c'est que de passer d'un composant posé à un composant créé au runtime )

    D'autres propriétés par défaut auxquelles je devrait faire attention ?

    En tout cas vous deux (solution et explication) . Depuis ce matin je cherchais vainement où était ce problème simple !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Envoi de fichier ZIP
    Par Arbisis dans le forum Langage
    Réponses: 2
    Dernier message: 03/04/2008, 23h46
  2. [FTP] Envoi de fichiers
    Par gasper06 dans le forum Langage
    Réponses: 4
    Dernier message: 27/01/2008, 22h07
  3. [FTP] Envois de fichiers trop encombrants
    Par baby-tux dans le forum Langage
    Réponses: 12
    Dernier message: 08/09/2006, 14h07
  4. [FTP] Envois de fichiers trop encombrants
    Par baby-tux dans le forum Langage
    Réponses: 12
    Dernier message: 08/09/2006, 14h07
  5. [C#] [FTP] Envoi et suppression fichier sur ftp NON ANONYME!
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2005, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo