From 4c3c01fba44bfbaf568450c6b46667187c6b8056 Mon Sep 17 00:00:00 2001 From: Claudia Date: Tue, 14 Dec 2021 14:55:38 +0100 Subject: [PATCH 1/2] Uebung abgeschlossen --- .../server/dateReply/DateServer.java | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) 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..71e65a0 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.DateFormat; +import java.text.SimpleDateFormat; import java.util.Date; /** @@ -15,12 +16,47 @@ * @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"); + + 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 (true){ + PrintWriter zumClient = new PrintWriter(socket.getOutputStream(), true); + zumClient.println("Fuer Zeit = TIME / Fuer Datum = DATE"); + 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 { + zumClient.println(clientWunsch + " ist unzulaessig"); + // zumClient.println(clientWunsch); + } + // objectZumClient.flush(); + + + //out.println(new Date().toString()); // Sende Antwort an Client + + } + } } } From 23f93769c46ae2ff531451d4609ee33bbda74713 Mon Sep 17 00:00:00 2001 From: Claudia Date: Tue, 14 Dec 2021 15:34:39 +0100 Subject: [PATCH 2/2] while-schlaufe angepasst --- .../server/dateReply/DateServer.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) 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 71e65a0..821d42c 100644 --- a/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java +++ b/src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java @@ -3,7 +3,7 @@ import java.io.*; import java.net.ServerSocket; import java.net.Socket; -import java.text.DateFormat; + import java.text.SimpleDateFormat; import java.util.Date; @@ -26,13 +26,16 @@ 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 System.out.println("[Server] verbunden."); + while (serverAN) { - while (true){ PrintWriter zumClient = new PrintWriter(socket.getOutputStream(), true); - zumClient.println("Fuer Zeit = TIME / Fuer Datum = DATE"); + 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())); @@ -46,16 +49,18 @@ public static void main(String[] args) throws IOException { } else if (clientWunsch.equalsIgnoreCase("DATE")) { objectZumClient.writeObject(date.format(jetzt)); - } else { + } else if (clientWunsch.equalsIgnoreCase("QUIT")){ + zumClient.println("Serveranfrage wird beendet"); + serverAN = false; + + }else { + zumClient.println(clientWunsch + " ist unzulaessig"); - // zumClient.println(clientWunsch); - } - // objectZumClient.flush(); - //out.println(new Date().toString()); // Sende Antwort an Client } + } } }