Technische Über- und Aussicht zum Pool Video Switch¶
Aktueller Stand:¶
Allgemein:¶
- Eigenes Containerprotokoll, Module implementieren eigene Handler.
- Protokoll ohne Fehlerbehandlung.
- Standardports für TCP- und VNC-Verbindungen sind meist durch #defines festgelegt
- Handler werden per eigenem Dispatcher über neue Pakete benachrichtigt.
- Umfassende Loggingmöglichkeit durch eigenes Logsystem (inklusive Logdispatching und Logdumping)
Serverapplikation:¶
- Bietet TCP-Server für Steuerbefehle und VNC-Multi-Client für VNC-Verbindungen.
- Wartet auf eingehende Verbindungen von Clients.
- Umfassendes GUI zu Darstellung und Steuerung von Clientverbindungen
- GUI- und Core-Objekte wandeln den von der VNC-Verbindung gelieferten Framebuffer entsprechend für das GUI um.
- Die verschiedenen Ebenen sind so gut wie möglich getrennt, dennoch an manchen Stellen eng verknüpft.
- Sowohl die zentrale Verbindungsverwaltung (ConnectionManager) als auch das GUI-Hauptfenster (MainWindow) sind als Singletons implementiert um möglichst zentrale Verarbeitung und kurze Informationswege zu ermöglichen.
- Scaling des Framebuffers übernimmt die Pixbuf-Klasse aus gtkmm
- Das Closeup und die Tabellendarstellung haben Probleme mit der Dynamischen Fenstergröße unter gnome#
- Verbindungen sind in Metaobjekten implementiert (fassen TCP- und VNC-Verbindung zusammen).
- Enge Verbindung von ConnectionManager und TCP-Server
Clientapplikation:
- Als Daemon implementiert.
- Initiiert den Kontakt zum Server, nicht umgekehrt.
- Hat eigenen VNC-Client für das Abgreifen des Dozentenrechners. (Projection-Feature)
- Hat eigenen TCP-Client für Steuerbefehle und Verbindungsaufnahme zum Server.
- verlässt sich auf clientfile zum finden eines korrekten servers.
- verlässt sich auf policyfiles zur ermittlung von vnc-erlaubnis und -passwort.
- kann tastatur und maus blocken und ein Vollbildfenster erzeugen welches den Desktop verdeckt (Lock-Feature)
- kann offene VNC-Verbindung zum Server darstellen (Projection-Feature)
- Locking und VNC-Verbindung werden durch unterschiedliche Objekte und Methoden dargestellt.
Aussicht:¶
Allgemein:¶
- Protokoll sollte Fehlerbehandlung betreiben
- Protokoll sollte gesichert werden
- Standardports für TCP- und VNC-Verbindungen sollte variable sein (nur teilweise umgesetzt)
Serverapplikation:¶
- Die Performance sollte noch verbessert werden
- Es sollte die Möglichkeit bestehen den Benutzer zu identifizieren um so den Zugriff auf die Zielrechner sicher zu gestalten und Missbrauch zu verhindern
- Sollte die Möglichkeit bieten ausgewählte Displays (nicht nur das eigene) auf einen oder alle Zielrechner zu projizieren
Clientapplikation:¶
- Sollte gewisse Ansprüche hinsichtlich Sicherheit der Kommunikation gewährleisten
- Sollte erweiterte Steuermöglichkeiten bieten (bisher ist der daemon auf sich allein gestellt sobald er gestartet wird und dann nur durch den Server zu erreichen)
- Sollte ein Chat-Interface bieten (auf basis Fltk?).
- Beim Lock-Feature sollte die Darstellung von Lockmessages korrigiert werden