s n h m r u
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.
Verschiebe die Zeilen mit gedrückter linker Maustaste:

  • >>> # 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:
<li><code class="language-python">&gt;&gt;&gt; import socket</code></li>
<li><code class="language-python">&gt;&gt;&gt; komm_s = socket.socket()</code></li>
<li><code class="language-python">&gt;&gt;&gt; adresse = ('127.0.0.1', 5000)</code></li>
<li><code class="language-python">&gt;&gt;&gt; komm_s.connect(adresse)</code></li>
<li><code class="language-python">&gt;&gt;&gt; komm_s.recv(1024)</code></li>

(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)
<p>>>> nachricht = bytes('Hallo', 'utf-8')<br />
>>> komm_s.sendall(nachricht)</p>
<p>>>> trennByte = bytes([0])<br />
>>> komm_s.sendall(trennByte)</p>
<p>>>> komm_s.recv(1024)<br />

(b) Bringe die Befehle aus dem letzten Python-Dialog in die richtige Reihenfolge und ordne die Kommentare den Befehlen zu.
Verschiebe die Zeilen mit gedrückter linker Maustaste:

  • >>> 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) Nenne Stellen des Python-Dialogs, die du noch nicht verstehst.

Aufgabe 3

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

Suche

v
10.5.2.1 Anfragen an einen Server stellen
Kopieren durch Anklicken

Rückmeldung geben