Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2413 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Client FTP [Résolu]

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Java] Client FTP [Résolu]

n°339249
thunderbir​d54
Posté le 20-03-2003 à 23:35:58  profilanswer
 

Bonsoir,
 

Citation :


je voudrais coder un client ftp en java, pour me derouiller LOL mais j'ai un probleme, j'arrive a me connecter sur le ftp, mais des que je veux lui envoyer une commande (USER, SYST, ...) l'appli plante! En fait, le prgm de recoit pas de rep du serveur.
 
Voici le code source, j'espere que vous pourrez m'aider.
 

Code :
  1. import javax.swing.*;
  2.    import java.awt.*;
  3.     public class Fenetre extends JFrame
  4.    {
  5.        public static void main(String[] args)
  6.       {
  7.          JFrame fen=new JFrame("FTP" );
  8.          fen.setDefaultCloseOperation(EXIT_ON_CLOSE);
  9.          fen.setSize(500,300);
  10.          Container contentPane = fen.getContentPane();
  11.          PanneauFond pan = new PanneauFond();
  12.          contentPane.add(pan);
  13.          fen.setVisible(true);
  14.      
  15.       }
  16.    }


 


 
Cette partie est résolu, voir en fin de sujet, pour une derniere question... LOL


Message édité par thunderbird54 le 24-03-2003 à 20:37:04
mood
Publicité
Posté le 20-03-2003 à 23:35:58  profilanswer
 

n°339259
the real m​oins moins
Posté le 20-03-2003 à 23:52:09  profilanswer
 

[:totoz]
 
 
 
 
 
... bon deja si au lieu de catcher tes exception et rien en faire tu les traitais et/ou afficher la trace, t'aurais peut etre une idée de ce qui passe pas :sarcastic:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339260
darklord
You're welcome
Posté le 20-03-2003 à 23:53:41  profilanswer
 

on s'en fout de la gui ;)
Donne uniquement le code que tu utilises pour appeller ton serveur FTP ca sera plus clair à débugger (genre faire une version ligne de commande)
 
ensuite installe un serveur FTP sur ta machine et regarde les logs. Si tu te plantes dans le protocole, y aura surement un msg ds les logs


---------------
Just because you feel good does not make you right
n°339263
the real m​oins moins
Posté le 20-03-2003 à 23:54:32  profilanswer
 

DarkLord a écrit :

on s'en fout de la gui ;)
Donne uniquement le code que tu utilises pour appeller ton serveur FTP ca sera plus clair à débugger (genre faire une version ligne de commande)
 
ensuite installe un serveur FTP sur ta machine et regarde les logs. Si tu te plantes dans le protocole, y aura surement un msg ds les logs

il a meme pas les messages sur son client [:spamafote]


Message édité par the real moins moins le 20-03-2003 à 23:54:40

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339363
thunderbir​d54
Posté le 21-03-2003 à 09:17:23  profilanswer
 

les codes pour appeler le serveur ftp?
je lui envoie juste une commande, pas de codes!!
 
par contre, l'histoire des logs c'est une bonne idée, je vais regarder.

n°339400
darklord
You're welcome
Posté le 21-03-2003 à 09:37:51  profilanswer
 

Thunderbird54 a écrit :

les codes pour appeler le serveur ftp?
je lui envoie juste une commande, pas de codes!!
 
par contre, l'histoire des logs c'est une bonne idée, je vais regarder.


 
 
 :sarcastic:  
 
je parlais de ton code source java :D
 
On a pas besoin de voir le code de ta GUI on s'en tape puisque c'est pas ca le problème. Ca alourdit ton post et c'est pas facile de déchiffrer ce qui se passe. Surtout que j'ai comme l'idée que ca sera pas le seul problème ...


---------------
Just because you feel good does not make you right
n°339520
thunderbir​d54
Posté le 21-03-2003 à 11:39:10  profilanswer
 

le code concernant le ftp
 

Code :
  1. public void initialisation(String adresse) {
  2.          try {
  3.             JTA_Com.append("\n Connect to "+adresse+", Port 21" );
  4.             sock = new Socket (adresse, 21);
  5.             JTA_Com.append("\n Connexion etablie" );
  6.             out = new BufferedWriter (new OutputStreamWriter
  7.                                    (sock.getOutputStream ())) ;
  8.             inp = new BufferedReader (new InputStreamReader
  9.                                    (sock.getInputStream ())) ;
  10.             JTA_Com.append("\n" + reponseFTP());
  11.          //sock.setSoTimeout(500);
  12.          }
  13.              catch(IOException e)
  14.             {
  15.                System.out.println("IOException" );
  16.            
  17.             }
  18.              catch(SecurityException e) {}
  19.       }
  20.  
  21.  
  22.  
  23.        public void commandeFTP(String commande) {
  24.          try {
  25.             System.out.println("\n write ..." );
  26.             out.flush();
  27.             out.write(commande+"\r\n" );
  28.             System.out.println("\n write ... OK" );
  29.          }
  30.              catch (IOException e) {
  31.                System.out.println("IOException" );
  32.             }
  33.       }
  34.  
  35.  
  36.        public String reponseFTP()
  37.       {
  38.          try {
  39.             String reponse;
  40.             System.out.println(" Read ..." );
  41.             reponse = inp.readLine();
  42.             System.out.println(" Read ... OK" );
  43.             return reponse;
  44.          }
  45.              catch (IOException e)
  46.             {
  47.                System.out.println("IOException" );
  48.                return "";
  49.             }
  50.       }


 
j'ai catché certaines exceptions, mais elles ne s'executent pas quand l'appli plante.
 
Donc en fait, la je crée juste un socket et les flux.
Je veux faire la connexion (réelle USER xxxxn, PASSWORD xxx ...) a la main. c'est le role de ligne_com (cf plus haut, le 2eme bout de code)

n°339524
thunderbir​d54
Posté le 21-03-2003 à 11:43:17  profilanswer
 

voici ce qu'il se passe quand j'envoie une commande au ftp
 
 ----jGRASP exec: java Fenetre
 
 CommandeFTP ...
 
 write ...
 
 write ... OK
 
 CommandeFTP ... OK
 
 ReponseFTP ...
 Read ...
 
 ----jGRASP: process aborted by user.
 ----jGRASP: operation complete.
 
 
===> planté LOL

n°339525
darklord
You're welcome
Posté le 21-03-2003 à 11:44:11  profilanswer
 

:sleep:  
 
les logs de ton serveur FTP disent quoi? On va pas jouer aux devinettes pendant 3 jours hein ...


---------------
Just because you feel good does not make you right
n°339529
thunderbir​d54
Posté le 21-03-2003 à 11:46:52  profilanswer
 

ben suis en stage la, j'ai un 200 avec windows 95, je ne peux pas demarrer un serveur ftp, donc les logs, ca sera pour ce soir, quand je serais chez moi!
 
je voulais juste savoir si le code etait correct.

mood
Publicité
Posté le 21-03-2003 à 11:46:52  profilanswer
 

n°339533
darklord
You're welcome
Posté le 21-03-2003 à 11:51:02  profilanswer
 

Thunderbird54 a écrit :

ben suis en stage la, j'ai un 200 avec windows 95, je ne peux pas demarrer un serveur ftp, donc les logs, ca sera pour ce soir, quand je serais chez moi!
 
je voulais juste savoir si le code etait correct.


 
et tu te connectes où au juste alors?


---------------
Just because you feel good does not make you right
n°339536
bobuse
Posté le 21-03-2003 à 11:54:21  profilanswer
 

Thunderbird54 a écrit :

ben suis en stage la, j'ai un 200 avec windows 95, je ne peux pas demarrer un serveur ftp, donc les logs, ca sera pour ce soir, quand je serais chez moi!
 
je voulais juste savoir si le code etait correct.


Juste en passant, quand tu catches les exceptions, moi en général, je mets plutot e.printStackTrace(), et systematiquement !!!


---------------
get amaroK plugin
n°339538
thunderbir​d54
Posté le 21-03-2003 à 11:55:14  profilanswer
 

sur mon serveur ftp, quand je suis chez moi,
la j'ai un serveur au taf, mais je n'ai pas acces au log.

n°339539
thunderbir​d54
Posté le 21-03-2003 à 11:56:00  profilanswer
 

ok bubuse

n°339541
darklord
You're welcome
Posté le 21-03-2003 à 11:57:07  profilanswer
 

Thunderbird54 a écrit :

sur mon serveur ftp, quand je suis chez moi,
la j'ai un serveur au taf, mais je n'ai pas acces au log.


 
bin écoute je veux pas etre méchant mais bon faut etre un minimum logique quoi. Si tu bosses sur un truc tu dois avoir accès au minimum au truc que tu utilises quoi ...
 
Ils s'en fout ton maitre de stage que tu joues au devinette avec les erreurs? Demande pour accéder aux logs et puis c'est tout :/
 
Bon en fait ton code là c'est pas super propre quoi. Pq tu n'utilises pas une API comme NetComponents par exemple. J'ai un code valide qui traine qqpart si tu veux (upload de fichier)


---------------
Just because you feel good does not make you right
n°339545
thunderbir​d54
Posté le 21-03-2003 à 12:01:21  profilanswer
 

ben c'est que mon maitre de stage ne m'as pas demandé de faire un client ftp mdr, ca c'est quand j'ai du temps libre!
 
 
Pourquoi, je n'utilise pas une API?
j'aimerais bien le faire moi meme! (meme si j'ai du mal!)
 
je vais manger retour vers 13h
 
A+

n°339589
thunderbir​d54
Posté le 21-03-2003 à 13:22:19  profilanswer
 

Pour toi le pb vient d'ou?
 
d'une erreur de protocole?
ou du erreur de prgm?

n°339598
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-03-2003 à 13:39:09  profilanswer
 

[:rofl] [:rofl]


---------------
J'ai un string dans l'array (Paris Hilton)
n°339601
darklord
You're welcome
Posté le 21-03-2003 à 13:43:39  profilanswer
 

Thunderbird54 a écrit :

Pour toi le pb vient d'ou?
 
d'une erreur de protocole?
ou du erreur de prgm?


 
mais ptain ;) J'ai PAS envie de devinner -> regarde les logs. La réponse s'y trouve à 99%


---------------
Just because you feel good does not make you right
n°339602
Serial Cod​er
Posté le 21-03-2003 à 13:47:24  profilanswer
 

[:cupra]


---------------
Je code en série et en parallèle
n°339605
lorill
Posté le 21-03-2003 à 13:49:48  profilanswer
 

[:blueflag]

n°339650
benou
Posté le 21-03-2003 à 14:38:37  profilanswer
 

en java, un programme plante pas comme ca sans message d'erreur... Soit tu as un catch vide, soit t'as fais un exit là ou il fallait pas ...

n°339668
bobuse
Posté le 21-03-2003 à 15:04:47  profilanswer
 

benou a écrit :

en java, un programme plante pas comme ca sans message d'erreur... Soit tu as un catch vide, soit t'as fais un exit là ou il fallait pas ...


+1, d'ou ma remarque ... :sarcastic:


---------------
get amaroK plugin
n°339720
the real m​oins moins
Posté le 21-03-2003 à 16:14:03  profilanswer
 

bobuse a écrit :


+1, d'ou ma remarque ... :sarcastic:  

:pfff:
http://forum.hardware.fr/forum2.ph [...] =1#t339259 :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339729
bobuse
Posté le 21-03-2003 à 16:23:13  profilanswer
 
n°339956
thunderbir​d54
Posté le 21-03-2003 à 19:51:21  profilanswer
 

bon ben il é pas tres explicite mon log!
 
#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2003-03-12 23:39:55
#Fields: time c-ip cs-method cs-uri-stem sc-status  
23:39:55 81.49.204.142 [1]USER anonymous 331
23:39:55 81.49.204.142 [1]PASS IEUser@ 230
23:42:02 81.49.204.142 [1]closed - 426
#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2003-03-12 23:42:33
#Fields: time c-ip cs-method cs-uri-stem sc-status  
23:42:33 81.49.204.142 [2]USER anonymous 331
23:42:33 81.49.204.142 [2]PASS IEUser@ 530
23:42:38 81.49.204.142 [3]USER anonymous 331
23:42:38 81.49.204.142 [3]PASS IEUser@ 530
23:42:45 81.49.204.142 [4]USER anonymous 331
23:42:45 81.49.204.142 [4]PASS IEUser@ 530
23:43:08 81.49.204.142 [5]USER administrateur 331
23:43:08 81.49.204.142 [5]PASS - 530
23:43:14 81.49.204.142 [6]USER administrateur 331
23:43:14 81.49.204.142 [6]PASS - 530
23:44:19 81.49.204.142 [7]USER anonymous 331
23:44:19 81.49.204.142 [7]PASS IEUser@ 230
23:47:06 81.49.204.142 [7]closed - 426

n°339964
thunderbir​d54
Posté le 21-03-2003 à 20:01:14  profilanswer
 

une autre version :
 
#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2003-03-21 18:25:04
#Fields: date time c-ip cs-username cs-method cs-uri-stem sc-status time-taken  
2003-03-21 18:25:04 81.53.35.x - [2]closed - 421 1221406
2003-03-21 18:53:21 81.53.35.x anonymous [3]USER anonymous 331 0
2003-03-21 18:53:21 81.53.35.x anonymous@on.the.net [3]PASS anonymous@on.the.net 230 16
2003-03-21 18:54:05 81.53.35.x anonymous@on.the.net [3]closed - 426 43734
2003-03-21 18:54:27 81.53.35.x anonymous [4]USER anonymous 331 0
2003-03-21 18:54:27 81.53.35.x anonymous@on.the.net [4]PASS anonymous@on.the.net 230 0
2003-03-21 18:54:58 81.53.35.x anonymous@on.the.net [4]QUIT - 550 0
2003-03-21 18:56:36 81.53.35.x anonymous [5]USER anonymous 331 0
2003-03-21 18:56:36 81.53.35.x email@notset.com [5]PASS email@notset.com 230 0
2003-03-21 18:57:06 81.53.35.x email@notset.com [5]MKD toto 550 0
                                                                       

n°339966
thunderbir​d54
Posté le 21-03-2003 à 20:02:00  profilanswer
 

donc apparemment avec mon client a moi, le ftp ne recoit jamais la commande!
 
Donc il attend une reponse qui ne vient jamais, d'ou le blockage!
 
On a cerné le pb, comment on le corrige lol
 
 


Message édité par thunderbird54 le 21-03-2003 à 20:05:38
n°339967
the real m​oins moins
Posté le 21-03-2003 à 20:02:59  profilanswer
 

ski est bien c'est que ça fait pas 25 fois qu'on te dit de mater les traces d'exceptions :sarcastic:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339969
bobuse
Posté le 21-03-2003 à 20:07:38  profilanswer
 

the real moins moins a écrit :

ski est bien c'est que ça fait pas 25 fois qu'on te dit de mater les traces d'exceptions :sarcastic:


Oui, mais DarkLord lui a aussi repeter 25 fois de mater les logs du serveur ftp. Et comme DarkLord a la plus grande gueule (c'est bien connu) ... :sarcastic:  :whistle:


---------------
get amaroK plugin
n°339972
the real m​oins moins
Posté le 21-03-2003 à 20:14:03  profilanswer
 

bobuse a écrit :


Oui, mais DarkLord lui a aussi repeter 25 fois de mater les logs du serveur ftp. Et comme DarkLord a la plus grande gueule (c'est bien connu) ... :sarcastic:  :whistle:  

:jap: [:rofl]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339974
thunderbir​d54
Posté le 21-03-2003 à 20:16:16  profilanswer
 

mais en fait ya pas d'exception!!!
 
j'ai utilisé le truc de bubuse, je croyais que ct une connerie mais ca compile bien, et en fait le prgm attends une reponse du serveur ftp qui ne vient jamais!!!
 a la fin j'ai un timeout du serveur pi c tout

n°339977
the real m​oins moins
Posté le 21-03-2003 à 20:18:07  profilanswer
 

ben en meme temps ton "programme" il fait que se logger, apres s'il fait rien c'est normal que ça parte en timeout nan? [:dawa]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°339981
thunderbir​d54
Posté le 21-03-2003 à 20:19:42  profilanswer
 

oui mais moi je lui envoie une commande! je ne comprends pas pourquoi il ne la recoit pas.

n°339983
bobuse
Posté le 21-03-2003 à 20:23:39  profilanswer
 

Je m'apelle bobuse  :o  
 
rebalance ton code pour voir ...
 
et gare a toi si tu as laisse un catch vide !!! [:lorill]


---------------
get amaroK plugin
n°339985
thunderbir​d54
Posté le 21-03-2003 à 20:28:52  profilanswer
 

non pas taper!!! lol
excuse moi j'avais mal lu.
 

Code :
  1. import java.net.*;
  2.    import java.io.*;
  3.    import javax.swing.*;
  4.    import java.awt.*;
  5.    import java.awt.event.*;
  6.     public class PanneauFond  extends JPanel  implements ActionListener   {
  7.       private JTextField adresse,path,ligne_com;
  8.       private JTextArea JTA_Com,JTA_Mes;
  9.  
  10.       private JButton Valider,Connecter,Quitter;
  11.       private double Val1,Val2,resu;
  12.  
  13.       private Socket sock;
  14.       private BufferedWriter out;
  15.       private BufferedReader inp;
  16.  
  17.       private String code,texte;
  18.  
  19.        public PanneauFond()
  20.       { JPanel Nord=new JPanel();
  21.          adresse=new JTextField("Adresse IP" );
  22.          adresse.addActionListener(this);
  23.          Nord.add(adresse);
  24.          Connecter=new JButton("Connexion" );
  25.          Connecter.addActionListener(this);
  26.          Nord.add(Connecter);
  27.      
  28.      
  29.       // Creation Panneau Gauche
  30.          JPanel Gauche=new JPanel();
  31.          JTA_Com = new JTextArea(15,22);
  32.          JTA_Com.setEditable(false);
  33.          Gauche.add(JTA_Com);
  34.      
  35.       // Creation Panneau Center
  36.          JPanel Centre=new JPanel();
  37.          JTA_Mes = new JTextArea(15,22);
  38.          JTA_Mes.setEditable(false);
  39.          Gauche.add(JTA_Mes);
  40.      
  41.       // Panneau Droite
  42.          JPanel Droite=new JPanel();
  43.      
  44.       // Panneau Bas
  45.          JPanel Bas=new JPanel();
  46.          ligne_com=new JTextField("Tapez ici vos commandes" );
  47.          ligne_com.addActionListener(this);
  48.          Bas.add(ligne_com);
  49.      
  50.          setLayout(new BorderLayout());
  51.          add(Gauche,BorderLayout.WEST);
  52.          add(Droite,BorderLayout.EAST);
  53.          add(Nord,BorderLayout.NORTH);
  54.          add(Centre,BorderLayout.CENTER);
  55.          add(Bas,BorderLayout.SOUTH);
  56.       }
  57.  
  58.  
  59.  
  60.        public void actionPerformed(ActionEvent e)
  61.       {
  62.          Object s=e.getSource();
  63.          String reponse;
  64.      
  65.          if ((s==Connecter) || (s==adresse))
  66.          {
  67.             initialisation(adresse.getText());
  68.          }
  69.          if (s==ligne_com)
  70.          {
  71.             String commande=ligne_com.getText();
  72.        
  73.             System.out.println("\n CommandeFTP ..." );
  74.             commandeFTP(commande);
  75.             System.out.println("\n CommandeFTP ... OK" );
  76.        
  77.             System.out.println("\n ReponseFTP ..." );
  78.             reponse=reponseFTP();
  79.             System.out.println("\n ReponseFTP ...OK" );
  80.        
  81.             JTA_Com.append("\n"+commande);
  82.             JTA_Com.append("\n"+reponse);
  83.             System.out.println(reponse);
  84.          }
  85.       }
  86.  
  87.  
  88.        public void initialisation(String adresse)       {
  89.          try {
  90.             JTA_Com.append("\n Connect to "+adresse+", Port 21" );
  91.             sock = new Socket (adresse, 21);
  92.             JTA_Com.append("\n Connexion etablie" );
  93.             out = new BufferedWriter (new OutputStreamWriter(sock.getOutputStream ())) ;
  94.             inp = new BufferedReader (new InputStreamReader(sock.getInputStream ())) ;
  95.             JTA_Com.append("\n" + reponseFTP());
  96.             //sock.setSoTimeout(500);
  97.          }
  98.              catch(IOException e) {
  99.             e.printStackTrace();
  100.             }
  101.              catch(SecurityException e) {
  102.             e.printStackTrace();
  103.             }
  104.       }
  105.  
  106.  
  107.  
  108.        public void commandeFTP(String commande)       {
  109.          try {
  110.             System.out.println("\n write ..." );
  111.             out.flush();
  112.             out.write(commande+"\r\n" );
  113.             System.out.println("\n write ... OK" );
  114.          }
  115.              catch (IOException e)  {
  116.             e.printStackTrace();
  117.             }
  118.       }
  119.  
  120.  
  121.        public String reponseFTP()
  122.       {
  123.          try {
  124.             String reponse;
  125.             System.out.println(" Read ..." );
  126.             reponse = inp.readLine();
  127.             System.out.println(" Read ... OK" );
  128.             return reponse;
  129.          }
  130.              catch (IOException e) {
  131.                e.printStackTrace();
  132.            
  133.                return "";}
  134.       }
  135.    }


n°339993
thunderbir​d54
Posté le 21-03-2003 à 20:44:17  profilanswer
 

ben koi L ne sont plus vides les exceptions!

n°340181
veryfree
Posté le 21-03-2003 à 23:17:51  profilanswer
 

j ai pas tout lu mais pourquoi ne pas utilisé ORO ?

n°340211
gm_superst​ar
Appelez-moi Super
Posté le 21-03-2003 à 23:44:14  profilanswer
 

Bonjour, pourrais tu copier-coller ici les traces des exceptions ?
 
Cordialement,


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°340279
ToxicAveng​er
Posté le 22-03-2003 à 00:58:23  profilanswer
 


 
 :lol:  :lol:  :lol:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Client FTP [Résolu]

 

Sujets relatifs
[Resolu] [C++] template et Visual Studio 6.0[RESOLU] newb - pkoi cette erreur ???
Imprimer du PDF avec Java (méthode print de l'AWT)[résolu] ouvrir un fichier au travers d'HTTP
taille max d'une chaine de caractère en java?[C] parse error before '&' token [partiellement résolu]
Pb de mysql.sock, c'est résolu merciTetris en java
[JAVA] websphere cache ?[JAVA] Programmer sur un 3410 (+ autres gsm)
Plus de sujets relatifs à : [Java] Client FTP [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR