diff --git a/src/main/java/ftp/sar/controller/ServerPanelController.java b/src/main/java/ftp/sar/controller/ServerPanelController.java index 0754198..62244fb 100644 --- a/src/main/java/ftp/sar/controller/ServerPanelController.java +++ b/src/main/java/ftp/sar/controller/ServerPanelController.java @@ -48,6 +48,7 @@ public class ServerPanelController implements Initializable { @FXML public void closeConnection(Event e) { + this.server.closeConnection(); this.mainPageController.serverContainer.getChildren().remove(this.serverPane); } diff --git a/src/main/java/ftp/sar/server/Server.java b/src/main/java/ftp/sar/server/Server.java index c5777a0..aff5abe 100644 --- a/src/main/java/ftp/sar/server/Server.java +++ b/src/main/java/ftp/sar/server/Server.java @@ -76,4 +76,15 @@ public class Server { public void setServerPanel(ServerPanelController serverPanelController) { this.serverPanelController = serverPanelController; } + + public void closeConnection() { + try { + this.getConnector().disconnect(); + this.socket.close(); + } catch (CannotConnectException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/ftp/sar/server/ServerConnector.java b/src/main/java/ftp/sar/server/ServerConnector.java index c7effe5..cdb7ee3 100644 --- a/src/main/java/ftp/sar/server/ServerConnector.java +++ b/src/main/java/ftp/sar/server/ServerConnector.java @@ -146,4 +146,8 @@ public class ServerConnector { e.printStackTrace(); } } + + public void disconnect() throws CannotConnectException { + this.sendRequest("DISCONNECT"); + } }