Server in eigene Klasse(n) verschoben
Abstrakte Klasse Server: Methoden run und stop
Klasse FramebufferController: Implementiert Server Hat einen Framebuffer Nimmt Nachrichten von einem MessageInOut Objekt entgegen, verarbeitet diese in seiner handle_message Methode. Wenn nötig wird update_display aufgerufen, welches einem DisplayAdapter Objekt den Framebuffer übergibt.
Abstrakte Klasse MessageInOut: Allgemeiner Input für den Server Methoden receive und respond
Klasse SocketHandler: Implementiert MessageInOut Hat einen Sockel, über welches es in der Methode receive UDP Nachrichten empfängt. In der Methode respond wird eine Nachricht an die Adresse von welchem als letztes etwas empfangen wurde gesendet.
Abstrakte Klasse DisplayAdapter: Ist dafür verantwortlich, einen Framebuffer überhaupt auf einen Bildschirm zu bringen. Methoden get_width, get_height, update
Klasse RaspyAdapter: Hat einen RaspberryClient. In der update Methode wird der FramebufferInhalt als PPM Bild gespeichert, welches dann vom RaspberryClient an das entsprechende Display gesendet wird.