Netzwerkprogramme mit Python

TCP Socket Flowchart

Python Low-level Socket

socketserver - A framework for network servers

Beispiel Morse-Server

Teil I

  • Unter Verwendung des Beispiels mit dem StreamRequestHandler soll ein TCP-Server erstellt werden.

  • Die Portnummer, auf der der Morseserver lauscht, soll beim Aufruf in der Kommandozeile als erstes Argument mitgegeben werden: ./morseserver.py 1234

  • Der Server gibt den vom Client empfangenen String (Zeichen 0…9 und a…f, alle anderen ignorieren!) auf der Konsole im Morsecode aus (Beispiel "1affe"):

    pi@bulmix:~/FSST/34AKWIB/MorseServer $ ./morseserver.py 1234
    127.0.0.1 wrote:
    .----
    .-
    ..-.
    ..-.
    .
    

    Tipp: Verwenden Sie für die Codetabelle den Datentyp dictionary.

Teil II

  • Der Server aus Teilaufgabe I soll nun so erweitert werden, dass eine der LEDs am Zusatzboard (GPIO 18 / 23 / 24 / 25) den Code der empfangenen Zeichen nacheinander als Lichtsignal morst.
  • Timing: Basis ist die Dauer eines Punktes - hier 0.2 Sekunden. Infos zum Morsecode
  • Die Verwendung der Python-Library gpiozero wird dringend angeraten. Tipp: Die Erzeugung von langen und kurzen Lichtpulsen lässt sich kompakt in einer Zeile bewerkstelligen: led.blink(TDOT * 3, TDOT, 1, False)