VNC client web application
Go to file
Joel Martin 0dddd6e47e Add README. 2010-04-06 21:06:46 -05:00
docs Add RFB specs and move *.js files into include/ 2010-03-31 19:43:09 -05:00
include Cleanup of files and vnc.js namespace. 2010-04-06 16:44:45 -05:00
README Add README. 2010-04-06 21:06:46 -05:00
canvas.html Fix canvas.html. 2010-04-06 13:58:06 -05:00
canvas.js Create getKeysym to lookup keysym from keyCode. 2010-04-06 16:24:09 -05:00
rfb_notes First RFB protocol stub implementation. 2010-04-01 11:36:22 -05:00
vnc.html Cleanup of files and vnc.js namespace. 2010-04-06 16:44:45 -05:00
vnc.js Cleanup of files and vnc.js namespace. 2010-04-06 16:44:45 -05:00
web.py Add minimal python directory web server. 2010-03-31 19:44:48 -05:00
ws_echo.py Simplify ws_echo.py code. 2010-03-31 18:20:48 -05:00
wsproxy.py Working with Raw rectangles and capital letter keys. 2010-04-05 23:54:30 -05:00

README

VNC Web Client implemented using HTML5 (Web Sockets, Canvas)

In order to use the client you need to use the python proxy. There are
a couple reasons for this:

- Web Sockets is not a pure socket protocol. There is an initial HTTP
  like handshake to allow easy hand-off by web servers and allow some
  origin policy exchange. Also, each Web Sockets frame begins with
  0 ('\x00') and ends with 255 ('\xff').

- Javascript itself does not have the ability to handle pure byte
  strings (Unicode encoding messes with it) even though you can read
  them with Web Sockets. The python proxy base64 encodes the data so
  that the Javascript client can base64 decode the data into an array.

The python proxy is run like this:

    ./wsproxy.py <listen_port> <remote_host> <remote_port>

You then point the client at the listen_port on the host where the
wsproxy.py command is running.