


Then I compress the screen region as a PNG and send it off from the server to my client. Regarding screen transfer/sharing, thanks to the mirror driver, I'm automatically notified of changed screen regions and I can simply marshal the mirror driver's ever-changing screen bitmap to my own bitmap. I've gotten through basic obstacles: I have a robust UDP messaging system, relatively clean program design, I've got a mirror driver (the free DFMirage mirror driver from DemoForge) up and running, and I've implemented NAT traversal for all NAT types except Symmetric NATs (present in corporate firewall situations). I'm developing a remote desktop software (just for fun) in C# 4.0 for Windows Vista/7. Sorry about the length, it's kinda necessary.
