PC Remote (Source Code Included)

PC Remote Client in Visual Basic Amazon This program, written in Visual Basic, has similar functionality to the well-known GoToMyPC service provided by Citrix Online: user can remotely control his or her computer. The user opens a server on the target machine, and he or she moves to another machine and opens a client.

Given sufficient access the client can control the target computer via mouse and the keyboard. The user has many options, including image quality, frame rate, protocol type, screen updating scheme, etc.

The way I implemented this program is the server keeps sending screen shots of the desktop to the client as images and the client displays those images as they come in.

When user moves and clicks on the mouse and types on the keyboard the corresponding event is generated and sent over to the server.

Once the server receives it it applies that event to the host computer. That's it!

After completing the implementation I tested it out with my friend and it worked fine. Later I found that it was horrendously slow when the client is thousands of miles away from the server (e.g. China from the US). I realized that speed is crucial in making this a reasonable piece of software.

I found that the major bottleneck is I used 24-bit bmp format to save images and the image size is very large. I fixed it by using jpeg format instead and it saves TONS of space. So any lesson you learned from all this?
When dealing with a problem, try to think in a broader, realistic perspective.
Here are some screen shots:

PC Remote Server in Visual Basic

PC Remote Client in Visual Basic

Here's the entire source code. Use at your own risks.
Source Code for PC Remote Program in Visual Basic
Post your comment below.
Anything is okay.
I am serious.