Übung - Zeitserver und Echoserver
Aufgabe 1
Du kannst folgenden Client zum Testen verwenden: zeit-client.py
Tipp 1:
Orientiere dich an dem Server-Dialog auf der Seit Erkundung - Sockets auf dem Server.
Genauere Erläuterungen zu den Befehlen findest du im Fachkonzept - Verbindungssocket.
Tipp 2:
Verwende die Klasse IVerbindungssocket aus der Datei socketLib.py.
Tipp 3:
>>> from datetime import datetime
>>> jetzt = datetime.now()
>>> jetzt.hour
15
>>> jetzt.minute
47
>>> jetzt.second
30
>>> str(jetzt.hour) + ':' + str(jetzt.minute) + ':' + str(jetzt.second)
'15:47:30'
Tipp 4: Orientiere dich an folgender Abbildung:
Mehrere Verbindungen nacheinander bearbeiten
In der letzten Aufgabe wurde der Server nach der Bearbeitung einer Anfrage beendet. In der Regel soll ein Server jedoch nacheinander mehrere Verbindungen bearbeiten. Dazu kann man den Programmteil, der eine Verbindung bearbeitet, in eine Endlosschleife packen. Der Zeitserver aus der voerherigen Aufgabe sieht dann so aus:
from socketLib import IVerbindungsSocket
from datetime import datetime
verbindungs_s = IVerbindungsSocket()
verbindungs_s.anPortBinden(5000)
while True:
komm_s = verbindungs_s.verbindungAnnehmen()
jetzt = datetime.now()
jetztString = str(jetzt.hour) + ':' + str(jetzt.minute) + ':' + str(jetzt.second)
komm_s.sendeString(jetztString)
komm_s.sendeBytes([0])
komm_s.trennen()
Aufgabe 2
Du kannst folgenden Client zum Testen verwenden: echo-client.py
Tipp: Orientiere dich an folgender Abbildung:
Zusatzaufgabe: Verändere die Daten auf dem Server. Du könntest den Echo-Server z.B. zu einem Schrei-Server erweitern. Der Schreiserver schickt die Anfrage des Clients zurück - ersetzt aber alle Kleinbuchstaben durch Großbuchstaben und alle Satzzeichen durch Ausrufezeichen.