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

avec Java Discussion :

probleme avec une connexion FTP


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut probleme avec une connexion FTP
    Bonjour,
    Je suis sur une application qui va déposer sur un serveur FTP un fichier voilà cela fonctionne très bien. Aujourd'hui j'ai fait un test pour voir comment réagit mon application si le serveur n'est pas accessible pour cela je l'ai deconnecté d'internet et je test mon depot mais là j'ai :
    SocketException : connection reset.

    Ce message n'apparait que 5 min environ après la validation de l'envoi est-il possible de reduire ce temps en controlant si le serveur est accessible? Peut être en mettant un timeout?

    Merci pour votre aide par avance...
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public boolean open(String server, int port, String username, String password, boolean active) {
        int reply = 0;
        boolean success = false;
     
        _ftp = new FTPClient();
        _ftp.setDataTimeout(2000);
        try {
          if (port > 0) {
            _ftp.connect(server, port);
          } else {
            _ftp.connect(server);
          }
          reply = _ftp.getReplyCode();
          if (FTPReply.isPositiveCompletion(reply)) {
            if (active) {
              _ftp.enterLocalActiveMode();
            } else {
              _ftp.enterLocalPassiveMode();
            }
            success = _ftp.login(username, password);
            if (!success) {
              System.out.print(_ftp.getReplyString());
              close();
            } else {
              _ftp.setFileType(FTP.BINARY_FILE_TYPE);
              _ftp.setFileTransferMode(FTP.BINARY_FILE_TYPE);
            }
          } else {
            _ftp = null;
          }
        } catch (java.net.SocketException se) {
          System.err.println("FTPManager.open SE : " + se);
          _ftp = null;
        } catch (java.io.IOException ioe) {
          System.err.println("FTPManager.open IOE : " + ioe);
          _ftp = null;
        }
     
        return success;
      }

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Je ne vois pas ce que tu n'arrives pas à faire, d'autant plus que tu as fais exactement la même chose pour les données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _ftp.setDataTimeout(2000);
    Pour mettre un timeout sur la connexion, c'est exactement pareil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _ftp.setConnectTimeout(...);
    Il suffit de lire la Javadoc...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Merci pour ta réponse, j'ai déjà essayé de faire ça mais j'ai un message
    d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cannot find symbol
           symbol   :   method setConnectTimeout(int)
           location  :   clas org.apache.commons.net.ftp.FTPClient
    ça fait mal!!!

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par titi42 Voir le message
    Merci pour ta réponse, j'ai déjà essayé de faire ça mais j'ai un message
    d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cannot find symbol
           symbol   :   method setConnectTimeout(int)
           location  :   clas org.apache.commons.net.ftp.FTPClient
    ça fait mal!!!
    Cette méthode existe depuis la version 2.0. Quelle est la version de ton FTPClient ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Bonjour dinobogan,
    Merci pour ta réponse pourrais tu me dire ou je pourrais télécharger la version 2.0 de FTPClient je ne la trouve pas merci...

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par titi42 Voir le message
    Bonjour dinobogan,
    Merci pour ta réponse pourrais tu me dire ou je pourrais télécharger la version 2.0 de FTPClient je ne la trouve pas merci...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Bonjour,
    Désolé de ne répondre que maintenant, j'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _ftp.setConnectTimeout(20000);
    Mais sans succès je suis obligé d'attendre environ 4 à 5min avant d'avoir une réponse. Je ne vois pas ce que je peux faire...
    j'ai toujours l'exception : SocketException : connection reset , qui arrive très tard (5min)!

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

Discussions similaires

  1. Probleme de droit avec une connexion sql server 2005
    Par mduarte dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/08/2007, 10h12
  2. Probleme avec une table vide
    Par king dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/03/2004, 14h24
  3. au secour probleme avec une requete...
    Par soufiane59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/09/2003, 10h28
  4. Problème avec un script ftp
    Par doohan dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 17h47
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

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