Ein Zeit-Client
Verbindung mit einem Zeit-Server
Ziel ist es, mit einem bereits existierenden Server eine Verbindung aufnehmen. Unter der URL "ts1.univie.ac.at" bietet ein Zeitserver auf Port 37 seine Dienste an.
Der folgende Python-Dialog zeigt, wie man ein Socket-Objekt erzeugt, das mit dem Zeitserver eine Verbindung aufnimmt und Daten von diesem Zeitserver empfängt.
>>> import socket >>> c = socket.socket() >>> url = 'ptbtime1.ptb.de' >>> port = 37 >>> c.connect((url, port)) >>> c.recv(100) b'\xd1\x9d\xa5f' >>> c.recv(100) b''
Aufgabe 1
(a) Probiere das selbst einmal aus.
(b) Der Client empfängt hier die Bytes b'\xd1\x9d\xa5f'
. Führe die folgenden Operationen aus,
um zu verstehen, was diese Bytes darstellen.
>>> list(b'\xd1\x9d\xa5f') [209, 157, 165, 102] >>> 209*256**3 + 157*256**2 + 165*256 + 102 3516769638
Die hier entstehende Zahl 3516769638 gibt die Anzahl der Sekunden an, die ab dem 1.1.1900 (0 Uhr) bis zur Anfrage an den Zeitserver vergangen sind. Überprüfe mit geeigneten Rechnungen, ob das stimmen kann.