Переглянути джерело

Update README.md and TODO.

Joel Martin 15 роки тому
батько
коміт
1626e0f8f8
2 змінених файлів з 27 додано та 19 видалено
  1. 26 16
      README.md
  2. 1 3
      TODO

+ 26 - 16
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!
 

+ 1 - 3
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