On Fri Jun 08, 2007 at 10:58:47AM +0200, L.M. wrote:

> But the thing I cannot figure out is the following:
> "winvnc4.exe" is running on the VNC server,
> it has some java bytecode (".class" files) embedded.
> Bytecode can only be interpreted by a Java Virtual Machine (JVM), no?
> Where is the JVM on the VNC server?
>
> As you say, the VNC client sends a request to the VNC server.
>     Roughly, for instance, the VNC client asks the VNC server for updating
>     the screen "rectangle" which has the following characteristics:
>     (x_pos, y_pos, width, height) using the Remote Frame Buffer (RFB)
protocol.
>
> As I read, HTTP "is the network protocol used to deliver virtually all files
and other
> data (collectively called resources) on the World Wide Web whether they are
HTML
> files, image files, query results or anything else."
>
> So, using HTTP, using the url http://<vnc_server_ip_address>:5800/,
> I send the request "update_rectangle(x_pos, y_pos, width, height)" to
> the process associated with the 5800 port on the machine identified by
> "vnc_server_ip_address".
> To do so the data are send wrapped in:
> - an IP header,
> - a TCP header,
> - a HTTP header.
> Plus the RFB layer, no?
>
> Can you explain why two ports (5800 and 5900) are required for that
operation?
>
> Hope it doesn't take you too much time to help me!
>
Okay, let's go through the process that's happening step by step.

You point the browser at http://vncserver:5800/

This connects to the VNC server (winvnc4.exe) which is pretending to be
a web server.  The browser will issue an HTTP "GET /" request to which
the VNC server will respond with the source you posted earlier.  This
will then cause the browser to request the vncviewer.jar file (since
it's needed for the embedded object).  The VNC server will send this
file (reading it directly from memory) to the browser.  This is all the
communication which is done over port 5800 - at this point the browser
has all it needs to run the Java client.

The browser now starts up its JRE (or Microsoft Java interpreter) and
loads the various .class files from the vncviewer.jar archive.  The java
application will then act as a normal VNC client, attaching to the VNC
server on port 5900 and sending its RFB requests.

Hope that clears things up for you,
        Robin

--
     ___
    ( ' }     |       Robin Hill        <[EMAIL PROTECTED]> |
   / / )      | Little Jim says ....                            |
  // !!       |      "He fallen in de water !!"                 |

[demime 1.01d removed an attachment of type application/pgp-signature]
_______________________________________________
VNC-List mailing list
[email protected]
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to