Untitled
unknown
plain_text
2 years ago
3.2 kB
11
Indexable
import java.io.*;
import java.net.*;
public class DirectoryServer {
private static final int PORT = 12345;
private static String currentDirectory = System.getProperty("user.dir");
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
System.out.println("Server is running...");
while (true) {
Socket clientSocket = serverSocket.accept();
System.out.println("Client connected.");
handleClient(clientSocket);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void handleClient(Socket clientSocket) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String clientRequest;
while ((clientRequest = in.readLine()) != null) {
if (clientRequest.equals("getcwd")) {
out.println(currentDirectory);
} else if (clientRequest.startsWith("chdir ")) {
String newDirectory = clientRequest.substring(6);
boolean success = changeDirectory(newDirectory);
if (success) {
out.println("Directory changed to: " + currentDirectory);
} else {
out.println("Failed to change directory.");
}
} else if (clientRequest.equals("exit")) {
break;
} else {
out.println("Unknown command: " + clientRequest);
}
}
clientSocket.close();
System.out.println("Client disconnected.");
}
private static boolean changeDirectory(String newDirectory) {
File dir = new File(newDirectory);
if (dir.exists() && dir.isDirectory()) {
currentDirectory = dir.getAbsolutePath();
return true;
} else {
return false;
}
}
}
import java.io.*;
import java.net.*;
public class DirectoryClient {
private static final String SERVER_ADDRESS = "localhost";
private static final int SERVER_PORT = 12345;
public static void main(String[] args) {
try {
Socket socket = new Socket(SERVER_ADDRESS, SERVER_PORT);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
String serverResponse = in.readLine();
System.out.println("Server: " + serverResponse);
if (userInput.equals("exit")) {
break;
}
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Editor is loading...