Ich zuvor blogged über how remote screen sharing software works here, es ist nicht spezifisch für C#, aber es gibt ein gutes grundlegendes Verständnis zu dem Thema. In diesem Artikel ist auch die Remote-Frame-Puffer-Spezifikation verlinkt, über die Sie wahrscheinlich auch nachlesen möchten.
Im Grunde werden Sie Screenshots machen und diese Screenshots übertragen und auf der anderen Seite anzeigen können. Sie können den letzten Screenshot behalten und den Screenshot in Blöcken vergleichen, um zu sehen, welche Blöcke des Screenshots Sie senden müssen. Sie würden normalerweise eine Art von Komprimierung vor dem Senden der Daten vornehmen.
Um eine Fernbedienung zu haben, können Sie die Mausbewegung verfolgen und übertragen und die Zeigerposition am anderen Ende einstellen. Auch über Tastenanschläge.
Soweit Kompression in C# geht, können Sie einfach JpegBitmapEncoder verwenden, um Ihre Screenshots mit JPEG-Komprimierung in der gewünschten Qualität zu erstellen.
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.QualityLevel = 40;
Um Dateiblocks Sie sind wahrscheinlich am besten einen Hash auf dem alten Block zu erstellen und die neuen, und dann überprüfen, um zu sehen, ob sie gleich sind zu vergleichen. Sie können dafür eine beliebige hashing algorithm verwenden.
Nicht was ich "einfach" nennen würde. –
yep können Sie anrufen :) –