Teamviewer in der Theorie
-
Hallo,
ich benutze privat und geschäftlich öfters das Programm "Teamviewer". Da ich mich nebenbei mich noch für C++ interessiere, habe ich mich gefragt wie die Theorie hinter dem Programm aussieht. Ich meine damit, wie das alles so läuft?
-
Holzwurm mit Familie schrieb:
Hallo,
ich benutze privat und geschäftlich öfters das Programm "Teamviewer". Da ich mich nebenbei mich noch für C++ interessiere, habe ich mich gefragt wie die Theorie hinter dem Programm aussieht. Ich meine damit, wie das alles so läuft?
Du solltest besser eine konkrete Frage stellen. Ich glaub keiner wird dir das komplette Programm im Detail erklären oder erklären können :xmas2:
-
Frage: Wie funktioniert Teamviewer. Was muss er machen um die Bilder auf den anderen Pc zu übertragen?
-
Das geht über Internet glaub ich :xmas2:
-
Theorie: Einfach. Jede X Sekunden (Millisekunden, whatever) wird ein Screenshot gemacht und an den Partner gesendet (via Sockets; HTTP oder einem eigenen Protokoll).
Praxis: Schwer. Es ist nicht möglich, schnell und effektiv alle X Sekunden (Millisekunden, whatever) einen Screenshot zu übertragen. Es werden also nur die Bereiche neu gesendet, in denen sich seit der letzten Überprüfung was geändert hat. Hinzu kommen: Mausbewegungen und -klicks, Tastatureingaben, ...
Gruß
-
-
drv schrieb:
Mirror Driver ist eher im Zusammenhang mit RDP, insbesondere RDP 7, und ähnlichen Protokollen zu sehen. Dort wird im Prinzip jeder Befehl für die Grafikkarte auf dem System, auf welches du zugreifst, an die Grafikkarte deines Systems weitergeleitet, so dass diese das Bild replizieren kann, ohne dass pro Frame ein Paar Megapixel übetragen werden müssen. Sehr interessante Anwendungen sind dabei z.B. verzögerungsfreies Windows Aero auf einem R2 Terminal Server (benutze das oft).
TeamViewer hat hier einen traditionelleren Ansatz, was auch nicht überrascht, weil dieser z.B. auch für Mac angeboten wird (vor wenigen Tagen getestet: TeamViewer 6 via Android auf mein MacBook in der Bude). Soll erst mal jemand Mirror Drivers für multiple Systeme implementieren... wie auch immer: TeamViewer nutzt einen relativ simplen Differential-Ansatz. Die Software errechnet die Bereiche, in denen das aktuelle Frame gegenüber dem vorherigen Frame abweicht (das passiert extrem optimiert, vermutlich mit wenigen Bit Farbtiefe). Die Blöcke, in denen das Frame anders ist, werden dann sehr einfach mit JPG-ähnlicher Komprimierung (nimm mal die Bildschirmlupe - du wirst dieselben Artefakte sehen) an den Operator gesendet. Cursor und Animationen werden so weit wie möglich auf dem System deaktiviert und separat gezeichnet um einen Eindruck von akzeptabler Performance zu erzeugen.
-
Sicher?, ich erinner mich das schon vnc sowas wie einen display driver hatte damit eben nicht alles als bild geschickt werden musste... vorsicht habwissen...
-
Auch einige VNC-Varianten (RFB-Protokoll) nutzen den Mirror-Driver. Sie können damit leichter den geänderten Bereich erkennen.