Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

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.

X

Fehler melden

X

Suche