|
|
@@ -7,7 +7,7 @@
|
|
7
|
7
|
- [2.1 Aufgabe](#21-aufgabe)
|
|
8
|
8
|
- [2.1.1 Optionen beim Aufruf](#211-optionen-beim-aufruf)
|
|
9
|
9
|
- [2.1.2 Verhalten des Servers bei Kommandos](#212-verhalten-des-servers-bei-kommandos)
|
|
10
|
|
- - [2.1.4 Ausgaben des Servers auf der Konsole](#214-ausgaben-des-servers-auf-der-konsole)
|
|
|
10
|
+ - [2.1.3 Ausgaben des Servers auf der Konsole](#213-ausgaben-des-servers-auf-der-konsole)
|
|
11
|
11
|
- [3.1 Fehlerbehandlung](#31-fehlerbehandlung)
|
|
12
|
12
|
- [4.1 Tipps](#41-tipps)
|
|
13
|
13
|
|
|
|
@@ -29,8 +29,8 @@ Server zu parsen.
|
|
29
|
29
|
Implementieren Sie den Webserver, in dem Sie [TCPListener][tcplistener]
|
|
30
|
30
|
verwenden.
|
|
31
|
31
|
|
|
32
|
|
-Sorgen Sie in dieser ersten Ausbaustufe dafür, dass der Server
|
|
33
|
|
-Nachrichten zwischen Anfragen speichert und in der Reihenfolge zurück
|
|
|
32
|
+Sorgen Sie in dieser ersten Ausbaustufe dafür, dass der Server 'Orders'
|
|
|
33
|
+(Nachrichten) zwischen Anfragen speichert und in der Reihenfolge zurück
|
|
34
|
34
|
gibt, in der Sie gesendet wurden. ([FIFO][fifo])
|
|
35
|
35
|
|
|
36
|
36
|
Der Server darf beim Herunterfahren alle Daten verlieren. In dieser
|
|
|
@@ -89,8 +89,8 @@ Mit der `-p` Option wird der Default Port: 7878 überschrieben.
|
|
89
|
89
|
#### 2.1.1.4 `test` Option
|
|
90
|
90
|
|
|
91
|
91
|
Wird diese Option mit angegeben, dann erstellt der Server automatisch 3
|
|
92
|
|
-Nachrichten, die durch das **RETRIEVE** Kommando sofort nach dem Start
|
|
93
|
|
-des Servers abgerufen werden können.
|
|
|
92
|
+Orders, die durch das **RETRIEVE** Kommando sofort nach dem Start des
|
|
|
93
|
+Servers abgerufen werden können.
|
|
94
|
94
|
|
|
95
|
95
|
```text
|
|
96
|
96
|
echo "RETRIEVE" | nc localhost 7878
|
|
|
@@ -103,15 +103,23 @@ Test3
|
|
103
|
103
|
|
|
104
|
104
|
### 2.1.2 Verhalten des Servers bei Kommandos
|
|
105
|
105
|
|
|
106
|
|
-- **STAGE**: Der Server speichert die Nachricht
|
|
107
|
|
-- **COMMAND**: Der Server wertet das Kommando aus, speichert es aber
|
|
108
|
|
- nicht! Die Ausführung von Kommandos ist in dieser Aufgabe noch nicht
|
|
109
|
|
- zu implementieren.
|
|
110
|
|
-- **RETRIEVE**: Der Server gibt die älteste Nachricht zurück. Die
|
|
111
|
|
- Nachricht steht danach auf dem Server nicht mehr zur Verfügung.
|
|
|
106
|
+- Kommando **STAGE**: Der Server speichert die Order
|
|
|
107
|
+- Kommando **CONTROL**: Der Server gibt in dieser Aufgabe lediglich den
|
|
|
108
|
+ Control String aus, sofern die `-v` Option gesetzt ist. Die Ausführung
|
|
|
109
|
+ von Kommandos ist in dieser Aufgabe noch nicht zu implementieren.
|
|
|
110
|
+- Kommando **RETRIEVE**: Der Server gibt die älteste Order zurück.
|
|
|
111
|
+ Die Order steht danach auf dem Server nicht mehr zur Verfügung.
|
|
|
112
|
+ Sind keine Order vorhanden, so sendet der Server dem Client "No
|
|
|
113
|
+ order on stage"
|
|
112
|
114
|
|
|
|
115
|
+ ```text
|
|
|
116
|
+ $ nc localhost 7878
|
|
|
117
|
+ RETRIEVE
|
|
|
118
|
+ No order on stage!
|
|
|
119
|
+ ```
|
|
113
|
120
|
|
|
114
|
|
-### 2.1.4 Ausgaben des Servers auf der Konsole
|
|
|
121
|
+
|
|
|
122
|
+### 2.1.3 Ausgaben des Servers auf der Konsole
|
|
115
|
123
|
|
|
116
|
124
|
Eventuell Auftretende Fehler gibt der Server auf der Konsole aus, ohne
|
|
117
|
125
|
das Programm zu beenden.
|