Serveur Ftp java
ayoubnejm
-
arth Messages postés 9374 Date d'inscription Statut Contributeur Dernière intervention -
arth Messages postés 9374 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis entrain d'implémenter un serveur Ftp en java, j'ai réussi a faire pas mal de commandes (user, pass, pwd, cwd ...), mais j'ai un problème lorsque j'essaye de me connecter a mon serveur avec le client filezilla, ce dernier affiche le message suivant :
Commande : PWD
Réponse : 257 "/home/an/Bureau/" is current directory
Commande : TYPE I
Réponse : 502 Command not implemented
Erreur : Impossible de récupérer le contenu du dossier
Voila le code pour la commande pwd :
voila mon code pour la classe Serveur :
Vous avez des propositions ??
Merci
Je suis entrain d'implémenter un serveur Ftp en java, j'ai réussi a faire pas mal de commandes (user, pass, pwd, cwd ...), mais j'ai un problème lorsque j'essaye de me connecter a mon serveur avec le client filezilla, ce dernier affiche le message suivant :
Commande : PWD
Réponse : 257 "/home/an/Bureau/" is current directory
Commande : TYPE I
Réponse : 502 Command not implemented
Erreur : Impossible de récupérer le contenu du dossier
Voila le code pour la commande pwd :
private void processPWD() { if(status != StatusConnect.ONLINE) new Response(530, " Not logged in", connexion).sendMessage(); else{ if (this.workingDir.charAt(0) != '/') { File aFile = new File(this.workingDir); try { this.workingDir = aFile.getCanonicalPath(); } catch (IOException e) { // TODO Auto-generated catch block // e.printStackTrace(); } } new Response(257," \"" + this.workingDir +"\" is current directory", connexion).sendMessage(); } }
voila mon code pour la classe Serveur :
package ftp; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import utils.Response; public class Serveur{ public static final int PORT = 2505; public static final int MILLISECONDBEFOREDATASOCKET = 2000; public static void main(String args[]) { /*if (args.length != 2) { System.out.println("Server working_directory listened_port"); System.exit(1); }*/ Serveur server = new Serveur(); server.loop("/home/an/Bureau/Master1/CAR/ftp/src/ftp"); } private void loop(String workingDir) { System.out.println("----- FTP-SERVER---- -----"); System.out.println("****************************"); System.out.println("Server Started..."); System.out.println("Waiting for connections..."); System.out.println("-"); try { ServerSocket ss = new ServerSocket(PORT); // Sert plusieurs clients while (true) { // création d'une socket quand un demande de connexion a été acceptée Socket c = ss.accept(); System.out.println("Connexion etablie"); // Envoi de message d'accueil new Response(220, "FTP Server", c).sendMessage(); // créer un thread pour traiter la damande du client FtpRequest ftpr = new FtpRequest(c,workingDir); ftpr.start(); } } catch (IOException e) { throw new RuntimeException(e); } } }
Vous avez des propositions ??
Merci
A voir également:
- Serveur Ftp java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Changer serveur dns - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
6 réponses
Tu indiques que c'est l'implémentation de la commande PWD qui pose souci.
Sauf que là on a que le code pour l'acceptation de la connexion. Donc on ne va pas pouvoir t'aider plus.
Le loup, solitaire et mystérieux.
Sauf que là on a que le code pour l'acceptation de la connexion. Donc on ne va pas pouvoir t'aider plus.
Le loup, solitaire et mystérieux.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait c'est surtout 502 :
Commande : TYPE I
Réponse : 502 Command not implemented
Ce serait pas plutôt parce que cette commande n'est pas implémentée que cela merdoit? Ou plutôt la commande ls ?
Parce que la commande PWD, c'est juste pour connaître le répertoire courant.
Le loup, solitaire et mystérieux.
Commande : TYPE I
Réponse : 502 Command not implemented
Ce serait pas plutôt parce que cette commande n'est pas implémentée que cela merdoit? Ou plutôt la commande ls ?
Parce que la commande PWD, c'est juste pour connaître le répertoire courant.
Le loup, solitaire et mystérieux.