Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.net.*;
- import java.util.*;
- public class P4A {
- public static HashMap<String, String> map = new HashMap<String, String>();
- public static void main(String[] args) {
- Socket connectionSocket = null;
- BufferedReader in = null;
- PrintStream printStream = null;
- System.out.println("Server started.");
- while(true) {
- try (ServerSocket serverSocket = new ServerSocket(7777)) {
- System.out.println("Socket opened.");
- connectionSocket = serverSocket.accept();
- System.out.println("Client connected.");
- in = new BufferedReader( new InputStreamReader(connectionSocket.getInputStream()));
- printStream = new PrintStream(connectionSocket.getOutputStream(), true);
- String request = "";
- while (!request.equals("EXIT")) {
- System.out.println("Reading...");
- request = in.readLine();
- System.out.println("Request: " + request);
- if(request.length()<3) {
- System.out.println("ERR: Unknown Command!");
- printStream.println("ERR: Unknown Command!");
- continue;
- }
- switch(request.substring(0,3)) {
- case "GET":
- if(request.length() < 5 || (args = request.substring(4).split("\\s")).length != 1) {
- printStream.println("ERR: Invalid number of arguments (1)!");
- System.out.println("ERR: Invalid number of arguments (1)!");
- break;
- }
- if(!map.containsKey(args[0])) {
- printStream.println("ERR: Unknown Key!");
- System.out.println("ERR: Unknown Key!");
- break;
- }
- printStream.println("RES: " + map.get(args[0]));
- System.out.println("RES: " + map.get(args[0]));
- break;
- case "PUT":
- if(request.length() < 5 || (args = request.substring(4).split("\\s")).length != 2) {
- printStream.println("ERR: Invalid number of arguments (2)!");
- System.out.println("ERR: Invalid number of arguments (2)!");
- break;
- }
- map.put(args[0], args[1]);
- printStream.println("RES: OK");
- System.out.println("RES: OK");
- break;
- default:
- if(request.equals("EXIT")) {
- continue;
- }
- System.out.println("ERR: Unknown Command!");
- printStream.println("ERR: Unknown Command!");
- break;
- }
- }
- printStream.println("RES: BYE!");
- printStream.close();
- in.close();
- connectionSocket.close();
- serverSocket.close();
- } catch (Exception e) {
- System.err.println(e.getMessage());
- printStream.println("ERR: Unknown Error!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement