Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 45 additions & 4 deletions src/main/java/ch/ibw/clientServer/server/dateReply/DateServer.java
Original file line number Diff line number Diff line change
@@ -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;

/**
Expand All @@ -15,12 +16,52 @@
* @see <https://cs.lmu.edu/~ray/notes/javanetexamples/>
*/
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) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Claudia
Das ist eine gute Lösung. Damit kann der Client in derselben Verbindung mehrere Anfragen schicken, oder?

Sobald dieser Client allerdings die Verbidung abbricht, beendet auch der Server. Was musst du tun, damit der Server nicht beendet, sondern auf die nächste Verbindung wartet?


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");



}
}

}
}
}
Expand Down