Skip to content
Snippets Groups Projects
Commit be82ce21 authored by Nicolas Mateischek's avatar Nicolas Mateischek :speech_balloon:
Browse files

Merge branch 'Dokumentation-Vorschlag-N' into 'Philipp_C+Server'

Inhaltsverzeichnis für Methods + Klare trennungen

See merge request !2
parents 18009037 c8c01e75
No related branches found
No related tags found
2 merge requests!3Ich checke nicht, warum der In und Output nicht funktioniert.,!2Inhaltsverzeichnis für Methods + Klare trennungen
Dokumentation Dokumentation
============= =============
Inhalt:
Client
1.Info abfrage
2.Erstellung von Sockets
3.Warte auf Befehleingabe
4.Befehle
Server
5.Bereitstellung von Socket
6.Porteingabe
7.Server initialisierung
8.Server Funktionen
8.1 Ping
8.2 Echo
8.3 Current
8.4 History
8.5 Exit
Client: Client:
1.
Der Client fragt über einen Bufferedreader "info" zuerst Ip-Adresse und Port ab. Der Client fragt über einen Bufferedreader "info" zuerst Ip-Adresse und Port ab.
Bei falschen Infos wird er beendet. Bei falschen Infos wird er beendet.
2.
Nachdem der clientSocket erstellt wurde versucht der Client eine Kommunikationsverbindung mit Nachdem der clientSocket erstellt wurde versucht der Client eine Kommunikationsverbindung mit
BufferedWriter "zumServer"und BufferedReader "vomServer" herzustellen. BufferedWriter "zumServer"und BufferedReader "vomServer" herzustellen.
3.
Solange der clientSocket connected ist hört der Client dann auf Eingaben. Solange der clientSocket connected ist hört der Client dann auf Eingaben.
Jede Eingabe des Clients wird nun an den Server geschickt und die Antworten des Servers werden abgeglichen. Jede Eingabe des Clients wird nun an den Server geschickt und die Antworten des Servers werden abgeglichen.
Die Antworten EXIT ECHO TIME DATE und ERROR sind die besonderen Ausgaben. Bei den letzten vier werden genau
diese Worte vom Anfang der Servernachricht abgetrennt und der Rest wird ausgegeben.
EXIT beendet den Client indem der Bufferedreader "info" und der clientSocket geschlossen werden.
Bei allen anderen Serverausgaben wie zum Beispiel "PONG" oder der beim Verlauf, 4.
Die Antworten EXIT, ECHO, TIME DATE und ERROR sind die besonderen Ausgaben.
Bei den letzten vier werden genau diese Worte vom Anfang der Servernachricht abgetrennt und der Rest wird ausgegeben.
EXIT beendet den Client indem der Bufferedreader "info" und der clientSocket geschlossen werden.
Bei allen anderen Serverausgaben wie zum Beispiel "PONG" oder der beim "HISTORY",
wird die Nachricht unverändert ausgegeben. wird die Nachricht unverändert ausgegeben.
Server: Server:
5.
Der Server funktioniert anders. Sobald sich ein Client disconnected ist der Server bereit, Der Server funktioniert anders. Er stellt den Socket bereit und sobald sich ein Client disconnected ist der Server bereit,
eine neue Verbindung herzustellen. eine neue Verbindung herzustellen.
6.
So setzt der Server beim starten von void neuerServer() den boolean "runs" auf true, sodass erstmal So setzt der Server beim starten von void neuerServer() den boolean "runs" auf true, sodass erstmal
nichts weiter passiert während der Server läuft. Dieser wird auch nur erstellt, falls der richtige Port nichts weiter passiert während der Server läuft. Dieser wird auch nur erstellt, falls der richtige Port
im BufferedReader prt eingegeben wird. im BufferedReader "prt" eingegeben wird.
7.
In neuerServer() wird der Server erstellt. Ein ServerSocket mit dem richtigen Port wird erstellt und In neuerServer() wird der Server erstellt. Ein ServerSocket mit dem richtigen Port wird erstellt und
wartet auf den Client. In dem Socket "serverSocket" (Nicht verwechseln mit dem ServerSocket "tempSocket") wartet auf den Client. In dem Socket "serverSocket" (Nicht verwechseln mit dem ServerSocket "tempSocket")
wird dann die Verbindung mit accept() hergestellt. wird dann die Verbindung mit dem Client durch den Befehl ".accept()" hergestellt.
Sobald das passiert wird wie beim Client ein BufferedWriter und ein Reader für Out- und Input deklariert und Sobald das passiert wird wie beim Client ein BufferedWriter und ein Reader für Out- und Input deklariert und
initialisiert. initialisiert.
...@@ -40,11 +66,21 @@ Solange boolean abbruch false ist, wird die while-Schleife nicht abgebrochen und ...@@ -40,11 +66,21 @@ Solange boolean abbruch false ist, wird die while-Schleife nicht abgebrochen und
Jede Eingabe vom Client wird erstmal aufgenomen, ausgegeben und im Verlauf gespeichert. Jede Eingabe vom Client wird erstmal aufgenomen, ausgegeben und im Verlauf gespeichert.
Nun wird sie mit allen möglichen Eingaben verglichen. Nun wird sie mit allen möglichen Eingaben verglichen.
Eingabe Ping liefert PONG zurück, Echo schickt die Eingabe direkt zurück. Current Time und Current Date erstellen
mit der Klasse SimpleDateFormat jeweils eine Antwort mit der Uhrzeit und mit dem Datum.
8.1
Erwartet "PING" vom Client und sendet "PONG" zurück.
8.2
Empfängt eine Nachricht mit "ECHO" als erstes Wort und schickt die Empfangene Nachricht direkt zurück
8.3
Current erwartet entweder ein folgendes "TIME" oder "DATE" und gibt die ServerZeit zum Zeitpunkt der Anfrage
entweder als Uhrzeit (Format: hh:mm:ss) oder Datum (Format: dd.MM.yyyy) zurück.
Formatiert wird mit der Klasse SimpleDateFormat.
8.4
Die Eingabe History unterscheidet zwischen "history" und "history int". Die Eingabe History unterscheidet zwischen "history" und "history int".
history iteriert einfach durch den gesamten Verlauf, speichert diesen im String "ausg" und schickt diesen dann history iteriert einfach durch den gesamten Verlauf von der ArrayList, speichert diesen im String "ausg" und schickt diesen dann
an den Client. an den Client.
history int macht das gleiche, falls der Integer über der Anzahl an Elementen im Verlauf liegt. history int macht das gleiche, falls der Integer über der Anzahl an Elementen im Verlauf liegt.
Jener Integer wird isoliert, indem der String ab Stelle 9 in einen Int umgewandelt wird (Falls möglich natürlich). Jener Integer wird isoliert, indem der String ab Stelle 9 in einen Int umgewandelt wird (Falls möglich natürlich).
...@@ -52,6 +88,7 @@ Bei etwas anderem als einem Int wird die interne fehler-boolean-Variable in dies ...@@ -52,6 +88,7 @@ Bei etwas anderem als einem Int wird die interne fehler-boolean-Variable in dies
damit diese nicht weiter versucht damit zu arbeiten. damit diese nicht weiter versucht damit zu arbeiten.
Falls die Zahl negativ ist wird auch ein Fehler ausgegeben. Falls die Zahl negativ ist wird auch ein Fehler ausgegeben.
8.5
Die Eingabe Exit setzt die abbruch-Variable auf true und runs auf false, sodass nach Beendigung des Servers im Die Eingabe Exit setzt die abbruch-Variable auf true und runs auf false, sodass nach Beendigung des Servers im
Konstruktor ein neuer erstellt wird. Konstruktor ein neuer erstellt wird.
Zuvor antwortet der Server jedoch noch dem Client und bestätigt das Exit und schließt den serverSocket. Zuvor antwortet der Server jedoch noch dem Client und bestätigt das Exit und schließt den serverSocket.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment