Solved

Explain the VNC RFB protocol in detail so as to enable replication with VB6 and API calls.

Posted on 2003-11-01
7
827 Views
Last Modified: 2008-01-09
I am looking to create an opensource VB example of VNC, and I need to understand (in detail) how the remote frame buffering protocol of VNC is accomplished enough to replicate it using VB6 and API calls.

Can you help?
0
Comment
Question by:JimHubbard
  • 4
  • 3
7 Comments
 
LVL 5

Expert Comment

by:phyderous
ID: 9665531
VNC is an open source ....

just d/l the code everything is in there
0
 

Author Comment

by:JimHubbard
ID: 9665534
If I knew C/C++ enough to understand the code, I wouldn't be recoding it in VB.
0
 
LVL 5

Expert Comment

by:phyderous
ID: 9665677
I am not sure pure vb is strong enough to handle this

you might want to try writting it in DirectX with vb and maybe using .net with directx 9 which will give you better support.

there are to main ideas in the field of remote control the one

like vnc

build on capturing the current frame and from this point only pass the delta

somthing like mpeg

think of the starting position as a key from now on
your server send only the delta between the current frame and the key.

you can use directx to compare and send only the dela.

and so on.

if the change is above some precentage then you send the all screen again.

you may also want to send some circle arround the current position of the mouse all the time.

the second option

is much more diffecult to program it. and will work only in windows.

you can use the windows api to query each window and map the sceen by rebuilt the programs in the client.

in this option you will not recive backgroud images and so on, but it will work much faster

for example insted of sending the bit map of a window you can send for example "createwindow top:100;left:100;width=500;height=500" then create toolbar create menu and so on ...

as I said it is very comlicate(this is how microsoft terminal server is working) but will give you much better results ...

good luck,

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:JimHubbard
ID: 9667006
I know the different theories on how to do remote controlling.  I am not looking for theories - they are of no use to me.

And, although you can query each window with Windows API calls, a MUCH quicker and easier way to accomplish this is to hook the system and intercept each WM_PAINT message to see what is being redrawn in every window, without the need to query each one individually.

I need the remote frame buffer protocol explained in detail, as I asked in the original question.  

I think, since VNC is out, that nobody has ever really questioned *how* VNC works.  Therefore, it will not improve as it should.

Does anybody really understand VNC's remote frame buffer protocol?

I'd hate like hell to have to learn an archaic language like C just to figure this thing out.

Jim
0
 
LVL 5

Accepted Solution

by:
phyderous earned 500 total points
ID: 9667072
the rfb protocol is described in

http://www.realvnc.com/docs/rfbproto.pdf

it is quite well documented

0
 

Author Comment

by:JimHubbard
ID: 9667077
Most excellent phyderous!  I looked my little ass off and could not find this documentation.

Thanks so much for your help!

Jim
0
 
LVL 5

Expert Comment

by:phyderous
ID: 9667101
cheers
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question