diff --git a/server/app/src/main/java/io/ds/date/server/DateServer.java b/server/app/src/main/java/io/ds/date/server/DateServer.java index 996b1cc3453560b75eda7336c1e6a9b7ae7200c9..0433f475e588bca5a63891fb09ad6255f8e1ec8a 100644 --- a/server/app/src/main/java/io/ds/date/server/DateServer.java +++ b/server/app/src/main/java/io/ds/date/server/DateServer.java @@ -20,44 +20,47 @@ public class DateServer { try (DatagramSocket serverSocket = new DatagramSocket(6789)) { System.out.println("Server listening ..."); while (true) { - // Receive Request - DatagramPacket request = new DatagramPacket(buffer, buffer.length); - serverSocket.receive(request);// blocking! - String style = new String(request.getData()).trim();//trim eliminates the 0 bytes - System.out.println("Received request for style: " + style); - String dateString = getStyledDate(style); - - // Send Reply - System.out.println("Send reply!"); - byte[] dateBytes = dateString.getBytes(); - DatagramPacket reply = new DatagramPacket(dateBytes, - dateBytes.length, - request.getAddress(), - request.getPort()); - serverSocket.send(reply); + try { + // Receive Request + DatagramPacket request = new DatagramPacket(buffer, buffer.length); + serverSocket.receive(request);// blocking! + String style = new String(request.getData()).trim();// trim eliminates the 0 bytes + System.out.println("Received request for style: " + style); + String dateString = getStyledDate(style); + // Send Reply + System.out.println("Send reply!"); + byte[] dateBytes = dateString.getBytes(); + DatagramPacket reply = new DatagramPacket(dateBytes, + dateBytes.length, + request.getAddress(), + request.getPort()); + serverSocket.send(reply); + } catch (IllegalStyleException e) { + System.err.println("Server: Illegal style, ignoring client request"); + } // Init buffer for reuse Arrays.fill(buffer, (byte) 0); } } catch (SocketException e) { System.err.println("Server: Can't open socket! Port in use?"); + e.printStackTrace(); } catch (IOException e) { System.err.println("Server: Can't read from or write to socket!"); - } catch (IllegalStyleException e) { - System.err.println("Server: Illegal style, ignoring client request"); + e.printStackTrace(); } } private static String getStyledDate(String style) throws IllegalStyleException { switch (style) { - case "FULL": - return FULL_DATE_FORMAT.format(new Date()); - case "MEDIUM": - return MEDIUM_DATE_FORMAT.format(new Date()); - case "SHORT": - return SHORT_DATE_FORMAT.format(new Date()); - default: - throw new IllegalStyleException(); + case "FULL": + return FULL_DATE_FORMAT.format(new Date()); + case "MEDIUM": + return MEDIUM_DATE_FORMAT.format(new Date()); + case "SHORT": + return SHORT_DATE_FORMAT.format(new Date()); + default: + throw new IllegalStyleException(); } } }