Solved

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

Posted on 2003-11-01
7
823 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
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…

910 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now