diff --git a/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java b/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java index 3a888b7..821d42c 100644 --- a/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java +++ b/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java @@ -1,9 +1,10 @@ package ch.ibw.clientServer.server.dateReply; -import java.io.IOException; -import java.io.PrintWriter; +import java.io.*; import java.net.ServerSocket; import java.net.Socket; + +import java.text.SimpleDateFormat; import java.util.Date; /** @@ -15,12 +16,52 @@ * @see */ public class DateServer { + private static SimpleDateFormat time = new SimpleDateFormat("'Es ist gerade 'H'.'mm' Uhr.'"); + private static SimpleDateFormat date = new SimpleDateFormat("'Heute ist 'EEEE', der 'dd.MM.yy"); + public static void main(String[] args) throws IOException { + + + try (ServerSocket listener = new ServerSocket(6060)) { System.out.println("DateServer läuft"); + + boolean serverAN = true; + + try (Socket socket = listener.accept()) { // Warte auf Clientverbindung - PrintWriter out = new PrintWriter(socket.getOutputStream(), true); - out.println(new Date().toString()); // Sende Antwort an Client + System.out.println("[Server] verbunden."); + while (serverAN) { + + PrintWriter zumClient = new PrintWriter(socket.getOutputStream(), true); + zumClient.println("Fuer Zeit = TIME / Fuer Datum = DATE / oder zum beenden = QUIT"); + + System.out.println("[Server] Nachricht gesendet."); + + BufferedReader vomClient = new BufferedReader(new InputStreamReader(socket.getInputStream())); + String clientWunsch = vomClient.readLine(); + Date jetzt = new Date(); + ObjectOutputStream objectZumClient = new ObjectOutputStream(socket.getOutputStream()); + + + if (clientWunsch.equalsIgnoreCase("TIME")) { + objectZumClient.writeObject(time.format(jetzt)); + + } else if (clientWunsch.equalsIgnoreCase("DATE")) { + objectZumClient.writeObject(date.format(jetzt)); + } else if (clientWunsch.equalsIgnoreCase("QUIT")){ + zumClient.println("Serveranfrage wird beendet"); + serverAN = false; + + }else { + + zumClient.println(clientWunsch + " ist unzulaessig"); + + + + } + } + } } }