i

Anfragen an einen Server stellen

In den folgenden Aufgaben stellst du eine Verbindung zu einem Server her. Du kannst dazu ...

  • ... entweder eine Verbindung zu einem Lehrerrechner herstellen. In diesem Fall werden die IP-Adresse und Port der Server im Unterricht bekannt gegeben.
  • ... oder auf deinem eigenen Computer den Server und deinen Python-Dialog ausführen. Wie das geht, kannst du im Exkurs_Client_Server_gleicher_Computernachlesen

Aufgabe 1

Server dieser Aufgabe: a1-zeitserver.py

(a) Probiere den folgenden Python-Dialog aus.

>>> import socket
>>> komm_s = socket.socket()
>>> adresse = ('127.0.0.1', 5000)
>>> komm_s.connect(adresse)
>>> komm_s.recv(1024)

(b) Bringe die Befehle aus dem letzten Python-Dialog in die richtige Reihenfolge und ordne die Kommentare den Befehlen zu:

  • >>> # importiere das Modul socket:
  • >>> # Erzeuge ein Objekt, das einen Kommunikationssocket verwaltet und speichere das Objekt in der Variablen komm_s:
  • >>> # Im folgenden Tupel werden die IP-Adresse sowie der Port des Servers gespeichert:
  • >>> # Baue eine Verbindung zu einem Server auf:
  • >>> # Lies die Daten, die der Server sendet:
  • >>> import socket
  • >>> komm_s = socket.socket()
  • >>> adresse = ('127.0.0.1', 5000)
  • >>> komm_s.connect(adresse)
  • >>> komm_s.recv(1024)

(c) Beschreibe, was passiert, wenn du den Python-Dialog ausprobierst.

Aufgabe 2

Server dieser Aufgabe: a2-schreiserver.py

a) Probiere den folgenden Python-Dialog aus.
>>> import socket
>>> komm_s = socket.socket()
>>> adresse = ('127.0.0.1', 5001)
>>> komm_s.connect(adresse)

>>> nachricht = bytes('Hallo', 'utf-8')
>>> komm_s.sendall(nachricht)

>>> trennByte = bytes([0])
>>> komm_s.sendall(trennByte)

>>> komm_s.recv(1024)

(b) Bringe die Befehle aus dem letzten Python-Dialog in die richtige Reihenfolge und ordne die Kommentare den Befehlen zu:

  • >>> import socket
  • >>> komm_s = socket.socket()
  • >>> adresse = ('127.0.0.1', 5001)
  • >>> komm_s.connect(adresse)
  • >>> # Sende eine Nachricht an den Server:
  • >>> nachricht = bytes('Hallo', 'utf-8')
  • >>> komm_s.sendall(nachricht)
  • >>> # Dem Server mitteilen, dass wir keine weiteren Daten mehr senden:
  • >>> trennByte = bytes([0])
    >>> komm_s.sendall(trennByte)
  • >>> komm_s.recv(1024)

(c) Vergleiche die beiden Python-Dialoge in den Aufgaben 1 und 2 (d.h.: beschreibe Unterschiede und Gemeinsamkeiten).

(d) Welche Stellen des Python-Dialogs verstehst du noch nicht?

Aufgabe 3

Lies das Fachkonzept - Client-Server-System und fasse es knapp in eigenen Worten zusammen.

Suche

v
10.5.4.1
inf-schule.de/rechnernetze/anwendung/socketprogrammierung/Anfragen_an_einen_Server_Stellen
inf-schule.de/10.5.4.1

Rückmeldung geben