Solved

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

Posted on 2003-11-01
7
832 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
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
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…

809 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