views:

440

answers:

2

Hello,

I'd like to create a simple remote desktop application (you can view the screen remotely and interact with it). As a first step, I've tried taking screenshots, 1 per second, compressing them to JPEG and sending them over (without interaction), but I've found that even over LAN this is very slow.

Do you have any hints on how to do this better? Is there C# sample code for projects like this?

+8  A: 

You might consider looking at VNC's implementation. VNC is open source and does what you want. I know of an open-source .NET client for VNC: http://dotnetvnc.sourceforge.net/

Hopefully this will give you some direction for your project.

Anderson Imes
+1. Not to mention that VNC is one of many solutions already built for this type of functionality, so why reinvent the wheel?
David Stratton
Indeed... I'm not a fan of wheel reinvention.
Anderson Imes
+1 to you and parent. This was my first thought too.
J.Hendrix
@David: if nobody ever tried to reinvent the wheel, we never would have gotten spinning rims.
MusiGenesis
@MusiGenesis: Thank you sir. This is now my quote of the day.
Anderson Imes
@MusiGenesis. That is an awesome quote. Thank you!
David Stratton
A: 

Just-in-time idea, if you don`t want to use vnc - and want to implement this yourself (for learning, how to invent wheels, for example) - send not full screenshot, but changes from previous - somethins like *.avi format (I forgot details, but something like: one full card, 15 changes, one full card, 15 changes and so on).

St.Shadow