i

Programmieren eines Nachrichtensystems - Client

Hinweise für die Lehrkraft - Vorbereitungen vor dem Unterricht

Auf dieser Seite sollen die Schülerinnen und Schüler Verbindungen zu einem Server herstellen. Dazu muss der Server auf einem Lehrerrechner laufen, der im Netzwerk erreichbar ist.

Server zu den Aufgaben 1 bis 3: nachrichtenserver.py

Die IP-Adresse des Lehrerrechners muss den Schülerinnen und Schülern bekannt gegeben werden.

Damit die beiden Server aus dem Netzwerk erreichbar sind, muss in der Firewall des Lehrerrechners eine Ausnahme für den TCP-Port 5003 eingerichtet werden. Nach der Unterrichtsstunde sollte die Firewallausnahme wieder deaktiviert werden.

Alle Aufgaben auf dieser Seite beziehen sich auf das Protokoll, das du auf der Seite Programmieren eines Nachrichtensystems - Protokoll kennengelernt hast.

Aufgabe 1

Schreibe einen Client, der eine neue Nachrichten verschickt.

Tipp: Verwende die Klasse ISocket aus der Datei socketLib.py

einfache Variante: Absender, Empfänger und Text stehen im Quelltext

etwas aufwendigere Variante: Der Benutzer kann Absender, Empfänger und Text eingeben

Aufgabe 2

Schreibe einen Client, der neue Nachrichten bei dem Server abholt und anzeigt.

Tipp: Verwende die Funktionen aus socketLib.py

Tipp: In der Antwort des Servers sind Sender, Empfänger und Text durch Doppelpunkte voneinander abgetrennt. Mit der Methode split kann man eine Zeichenkette an einem Zeichen zerlegen:

>>> zeichenkette = 'Maria:Paul:Hallo'
>>> zeichenkette.split(":")
['Maria', 'Paul', 'Hallo']

Aufgabe 3

Neben den oben dargestellten Anfragen versteht der Server auch noch eine Anfrage, bei der ermittelt wird, wie viele neue Nachrichten es für einen Benutzer gibt:
  • Anfrage: ZAEHLE_NEUE_NACHRICHTEN:{empfänger}
  • Antwort: {Anzahl der Nachrichten}
Programmiere einen Client, der folgende Benutzerführung umsetzt:

Tipp: Das folgende Beispiel zeigt, wie du ein Menü programmieren kannst:

def menu():
    wahl = '0'
    while wahl != '9':
        print('---------------------------')
        print('Menü')
        print('1: Menüpunkt 1')
        print('2: Menüpunkt 2')
        wahl = input('Bitte wählen: ')
        
        if wahl == '1':
            print('Menüpunkt 1 wurde gewählt')
        if wahl == '2':
            print('Menüpunkt 2 wurde gewählt')
    
    print('Auf wiedersehen!')
    
menu()

Suche

v
100.132.4.10
dev.inf-schule.de/entwuerfe/Anwendungsebene/socketprogrammierung/Nachrichtensystem_Client
dev.inf-schule.de/100.132.4.10
dev.inf-schule.de/@/page/TOIkT1Ibs6PCMZyV

Rückmeldung geben