Serveur Ftp java
ayoubnejm
-
arth Messages postés 10414 Statut Contributeur -
arth Messages postés 10414 Statut Contributeur -
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
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - 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.