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