From d1d90c2fca4392bfa430b2c7ec6bfd4d7e94b123 Mon Sep 17 00:00:00 2001 From: mokeddes <youva.mokeddes@gmail.com> Date: Sun, 7 Mar 2021 20:36:15 +0100 Subject: [PATCH] ajout commande QUIT --- .../main/java/sr/projet2/Request/QUIT.java | 32 +++++++++++++++++++ .../java/sr/projet2/Server/FtpConnexion.java | 5 +++ 2 files changed, 37 insertions(+) create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/QUIT.java diff --git a/serveurFTP/src/main/java/sr/projet2/Request/QUIT.java b/serveurFTP/src/main/java/sr/projet2/Request/QUIT.java new file mode 100644 index 0000000..3b92195 --- /dev/null +++ b/serveurFTP/src/main/java/sr/projet2/Request/QUIT.java @@ -0,0 +1,32 @@ +package sr.projet2.Request; + +import java.io.IOException; + +import sr.projet2.Server.FtpConnexion; + +public class QUIT implements request { + private FtpConnexion ftp; + public QUIT(FtpConnexion ftp) { + this.ftp =ftp; + } + + @Override + public void send() throws IOException{ + if (this.ftp.getSocket() == null ) { + throw new IOException("Ftp server error"); + + } + try { + this.ftp.getBufferedWriter().write("232 Quit.\r\n"); + this.ftp.getBufferedWriter().flush(); + this.ftp.getSocket().close(); + this.ftp.disconnect(); + System.out.println("Quit"); + } + catch(IOException e){ + this.ftp.connect(); + throw new IOException("Connexion failed"); + } + } + +} diff --git a/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java index a806c2f..5dfc3df 100644 --- a/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java +++ b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java @@ -18,6 +18,7 @@ import sr.projet2.Request.MKD; import sr.projet2.Request.PASS; import sr.projet2.Request.PASV; import sr.projet2.Request.PWD; +import sr.projet2.Request.QUIT; import sr.projet2.Request.RNFR; import sr.projet2.Request.RNTO; import sr.projet2.Request.SYST; @@ -136,6 +137,10 @@ public class FtpConnexion extends Thread { RNTO request= new RNTO(this,mystring[1].trim()); request.send(); } + else if (readLine.startsWith("QUIT")){ + QUIT request= new QUIT(this); + request.send(); + } } else { this.bfW.write("530 server is not connected\r\n"); -- GitLab