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

Java Discussion :

NIO2 et envoi FTP


Sujet :

Java

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut NIO2 et envoi FTP
    Bonjour,

    J'ai un problème sur un programme en java SE qui scrute le contenue d'un répertoire et quand il détecte un nouveau évènement il l'envoie le fichier par ftp.

    Mon problème est que mon programme me génère une erreur, mais mon fichier est bien envoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
    	at org.apache.commons.net.io.Util.copyStream(Util.java:135)
    	at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:625)
    	at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:593)
    	at org.apache.commons.net.ftp.FTPClient.storeFile(FTPClient.java:1903)
    	at com.scanmatch.folderscruteur.thread.impl.EnvoieFTP.run(EnvoieFTP.java:67)
    Caused by: java.net.SocketException: Connection reset by peer: socket write error
    	at java.net.SocketOutputStream.socketWrite0(Native Method)
    	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
    	at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    	at220-FileZilla Server version 0.9.40 beta
    Ma classe envoie :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    public class EnvoieFTP extends Thread {
     
        private FtpConfigurationParameters ftpConfigurationParameters;
        private String fileNameToUpload;
        private String path = "D:/TestWebservice/temp/";
     
        public EnvoieFTP(FtpConfigurationParameters ftpConfigurationParameters, String filNameToUpload) {
            this.fileNameToUpload = filNameToUpload;
            this.ftpConfigurationParameters = ftpConfigurationParameters;
            this.setDaemon(true);
            this.start();
        }
     
        @Override
        public void run() {
     
     
            FTPClient client = new FTPClient();
            client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
            String host = "192.168.2.144";
            String username = "plopinou";
            String password = "plopinou";
            FileInputStream in = null;
            try {
                this.sleep(5000);
                client.connect(host);
                int reply = client.getReplyCode();
                System.out.println("Reply code for connection : " + reply);
                if (!FTPReply.isPositiveCompletion(reply)) {
                    client.disconnect();
                    System.err.println("FTP server refused connection.");
     
                }
                client.login(username, password);
     
                client.setFileType(FTPClient.BINARY_FILE_TYPE);
                client.enterLocalPassiveMode();
     
                path = path + fileNameToUpload;
                in = new FileInputStream(new File(path));
     
     
                System.out.println("FILE TO UPLOAD : " + fileNameToUpload);
                client.storeFile(fileNameToUpload, in);
                System.out.println("Reply code for storefile : " + client.getReplyCode());
                in.close();
     
     
            } catch (SocketException ex) {
                System.out.println("exception SocketException : " + client.getReplyCode());
                ex.printStackTrace();
     
            } catch (IOException ex) {
                System.out.println("Exception : " + client.getReplyCode());
                ex.printStackTrace();
            } catch (InterruptedException ex) {
                System.out.println(ex.getMessage());
            } finally {
                try {
                    client.disconnect();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
    Merci de m'avoir lu.

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut
    Juste pour dire que le problème apparaît uniquement sur un autre poste sur le réseau avec un serveur en local il y a aucun problème.
    Si quelqu'un a des idées je suis preneur.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    un firewall un peu trop zélé qui couperait la connection trop vite? Faudrait lancer un wireshark sur le serveur, je parie que le serveur ou un firewall apprécie pas quelque chose que le serveur envoir en fin de transmission.

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Points : 74
    Points
    74
    Par défaut
    Merci tchize_ c'étais exactement ca !

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

Discussions similaires

  1. Envoie ftp
    Par lord anubis dans le forum Protocoles
    Réponses: 9
    Dernier message: 13/11/2014, 13h33
  2. Envoi FTP de fichier Excel avec org.apache.commons.net.ftp
    Par TomZ dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 22/07/2008, 16h22
  3. Firewall et envoi ftp
    Par cjacquel dans le forum Sécurité
    Réponses: 4
    Dernier message: 26/10/2007, 09h58
  4. Récupérer état mémoire, envoie ftp et service
    Par seb974 dans le forum VB 6 et antérieur
    Réponses: 23
    Dernier message: 13/09/2007, 09h31
  5. Envoi FTP et appel de script
    Par Shin_RockmanX dans le forum C#
    Réponses: 1
    Dernier message: 07/08/2007, 09h26

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