Im looking to create a sort of remote desktop software, and it is required that i transfer the users screen over the internet to the viewer.
My goal is to create an optimized capture so that i dont have to transfer the whole screen 10 times a second..
The idea i had was take the screenshots on the local computer and then determine only the CHANGED pixels from the last screenshot. So basically if they did something, only what changed on the screen would be sent and reconstructed on the other side, so i can save bandwidth and speed it up for slower internet connections.
My questions:
VNC is an open source remote desktop software. I recommend you download the source and take a look at how it works. However I am sure its not written in C#.
Here is a link to TightVNC's source code: http://www.tightvnc.com/download.php
FogCreek recently used the VNC source for its CoPilot product. You can download it's source from here as well: https://www.copilot.com/faq/#t28
Hope that helps