Update README.md and TODO.
This commit is contained in:
parent
07287cfd89
commit
1626e0f8f8
42
README.md
42
README.md
|
@ -5,28 +5,38 @@ VNC HTML5 Client
|
|||
Description
|
||||
-----------
|
||||
|
||||
An VNC client implemented using HTML5, specifically Canvas and Web Sockets.
|
||||
An VNC client implemented using HTML5, specifically Canvas and
|
||||
WebSocket.
|
||||
|
||||
For browsers that do not have builtin WebSocket support, the project
|
||||
includes web-socket-js, a WebSocket emulator using Adobe Flash
|
||||
(http://github.com/gimite/web-socket-js).
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
* A browser that supports Web Sockets (mostly Chrome as of Apr 6, 2010)
|
||||
and Canvas (most browsers)
|
||||
Until there is VNC server support for WebSocket connections, you need
|
||||
to use a WebSocket to TCP socket proxy. There is a python proxy
|
||||
included ('wsproxy').
|
||||
|
||||
* Until VNC server support web sockets, you need to use a Web Sockets to
|
||||
normal socket proxy. There are a couple reasons for this:
|
||||
There a few reasons why a proxy is required:
|
||||
|
||||
1. 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').
|
||||
1. WebSocket 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 WebSocket frame begins
|
||||
with 0 ('\x00') and ends with 255 ('\xff').
|
||||
|
||||
2. 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.
|
||||
strings (Unicode encoding messes with it) even though you can
|
||||
read them with WebSocket. The python proxy encodes the data so
|
||||
that the Javascript client can base64 decode the data into an
|
||||
array. The client requests this encoding
|
||||
|
||||
3. When using the web-socket-js as a fallback, WebSocket 'onmessage'
|
||||
events may arrive out of order. In order to compensate for this
|
||||
the client asks the proxy (using the initial query string) to add
|
||||
sequence numbers to each packet.
|
||||
|
||||
|
||||
Usage
|
||||
|
@ -34,7 +44,7 @@ Usage
|
|||
|
||||
* run a VNC server.
|
||||
|
||||
`Xvnc :1`
|
||||
`vncserver :1`
|
||||
|
||||
* run the python proxy:
|
||||
|
||||
|
@ -52,7 +62,7 @@ Usage
|
|||
* Point your web browser at http://localhost:8080/vnc.html
|
||||
(or whatever port you used above to run the web server).
|
||||
|
||||
* Provide the host and port where the proxy is running and the password
|
||||
that the vnc server is using (if any).
|
||||
|
||||
* Provide the host and port where the proxy is running and the
|
||||
password that the vnc server is using (if any). Hit the Connect
|
||||
button and enjoy!
|
||||
|
||||
|
|
4
TODO
4
TODO
|
@ -1,10 +1,8 @@
|
|||
- Make packet sequence number optional based on WebSockets 'path'.
|
||||
|
||||
- Add WSS/https/SSL support to page and wsproxy.py
|
||||
|
||||
- Make C version of wsproxy.py
|
||||
|
||||
- Implement UI option for shared.
|
||||
- Implement UI option for VNC shared mode.
|
||||
|
||||
- Upgrade to protocol 3.8
|
||||
- implement ZRLE encoding
|
||||
|
|
Loading…
Reference in New Issue