views:

160

answers:

4

I want to make project for my final year in college.
So someone suggested me to make Remote Desktop in C.
Now I know basic socket functions for windows in C i.e. I know how to make
echo server in C.
But I don't know what to do next. I searched on internet but couldn't find
something informative.
Could someone suggest me how to approach from this point..any tutorial...or any source ?

A: 

For sending the image of the screen I would probably use rtp. The JRTPLIB is really handy for that.

And yes, as KevinDTimm says, an echo server is the very easiest part.

VSC
A: 

Check tightvnc TightVNC is a free remote control software package. The source code is also available.

stacker
A: 

KevinDTimm may well be right, writing an RDP client would a fairly significant undertaking. To give you some idea, the current spec, available at the top of this page, is 419 pages long and includes references to several additional documents for specific aspects of RDP like Audio Redirection and Clipboards.

torak
Yeah, but that is for a full remote desktop client. For a college project, you could just omit things like audio redirection.
BobbyShaftoe
+6  A: 

I think this is do-able. For a college project, you don't need to have something as complex and as full-featured as VNC. Even demonstrating simple keyboard and mouse control and screen feedback would be enough, in my opinion, and that's well within reach.

If you're doing everything from scratch and using Win32, you can get the remote screen using the regular "printscreen" example all around the internet. http://www.codeproject.com/KB/cpp/Screen_Capture_Win32.aspx has it, for one. You can then compress the image with a third-party library, or just send it raw; this wouldn't be very efficient but it would still be a viable demonstration.

Apart from capturing the screen data remotely and showing it in the local window, you'll need to listen for local window messages for mouse and keyboard events, send them to the remote host, and then play them back. http://msdn.microsoft.com/en-us/library/ms646310%28VS.85%29.aspx will probably do that for you.

Reinderien
BobbyShaftoe