Commit Graph

890 Commits

Author SHA1 Message Date
Joel Martin 410960bac8 Fix some framing bugs. Cleanup console logs. 2010-04-14 11:28:29 -05:00
Joel Martin 484a4696aa Refactor data processing. Ignore other server messages.
- Refactor to pull off all the data received into RFB.d array and then
  process it. This allows a bit more flexibility in handling
  data that isn't sent in frame boundary packets.

- Properly ignore these server messages: SetColourMapEntries, Bell,
  ServerCutText.
2010-04-14 09:48:46 -05:00
Joel Martin d064769ccf Initial mouse support. Down and Up only. 2010-04-13 17:39:01 -05:00
Joel Martin 9f4af5a722 Hextile working. Improve latency by coallescing sends.
- Hextile has an undocumented weirdness where RAW frames are often
  followed by a 0 byte that should be ignored.

- Coallesce client messages that are one after another. Without
  this the server seems to often ignore frames that are send right
  after another frame has been sent. This fixes a reconnect issue
  where setEncodings seems to be ignored. Also results in a huge
  performance increase after key strokes (by adding a update request
  to the key event message) because the server always sends an update
  instead of sometimes waiting for the next poll to be sent.
2010-04-13 12:59:11 -05:00
Joel Martin 2bcb2d5b15 Remove event handlers on disconnect. 2010-04-13 09:39:29 -05:00
Joel Martin b7ec54870a Switch to much faster console.log and separate utils into util.js. 2010-04-13 09:28:53 -05:00
Joel Martin 0f62806499 Refactor processing to allow hextile processing.
With hextile you can't know how many bytes are pending. So restructure
so that all the received data so far is passed to the processsing
routines.
2010-04-12 13:21:44 -05:00
Joel Martin f761808540 Process RRE in chunks instead of 1 at a time. 2010-04-12 11:46:43 -05:00
Joel Martin cf67217cbf Change to RGB ordering. 2010-04-12 11:21:03 -05:00
Joel Martin 6dab56f914 Working RRE implementation. 2010-04-12 11:08:40 -05:00
Joel Martin ed7e776db2 First pass at RRE encoding 2010-04-11 23:11:21 -05:00
Joel Martin d628147bca WebWorkers example with two way messages.
- Prime number background worker that can be started, stopped and
  reset that calculates prime numbers and sends them back to the main
  page/thread.
2010-04-10 15:52:27 -04:00
Joel Martin 85b7a7d411 Handle undefined URL values correctly. 2010-04-10 15:52:08 -04:00
Joel Martin 4b835baeb9 Change depth to count down correctly. Trim long lines. 2010-04-10 12:00:35 -04:00
Joel Martin 48617e27bc Fix Copy-Rect encoding. 2010-04-06 22:44:12 -05:00
Joel Martin f6515e3e35 Make web.py match README. Remove unused ws_echo.py. 2010-04-06 21:50:26 -05:00
Joel Martin d63e146209 List for proxy reasons. 2010-04-06 21:37:35 -05:00
Joel Martin 5aeb98801b Change to markdown README.md.
- Semi-colon missing.
2010-04-06 21:34:56 -05:00
Joel Martin 0dddd6e47e Add README. 2010-04-06 21:06:46 -05:00
Joel Martin 0385e01171 Remove old test files. 2010-04-06 20:14:11 -05:00
Joel Martin cc0410a39b Cleanup of files and vnc.js namespace.
- Trim unused code in base64.js
2010-04-06 16:44:45 -05:00
Joel Martin d9cbdc7d85 Create getKeysym to lookup keysym from keyCode.
- Most of the keyboard is now functional.
2010-04-06 16:24:09 -05:00
Joel Martin 71085485e7 Fix canvas.html. 2010-04-06 13:58:06 -05:00
Joel Martin 532a9fd92e Better interface, support user provided VNC password.
- host, port and password input boxes (populated by URL values).
- clear canvas on disconnect.
- Dotted border around VNC area.
- mirror bits for VNC password.
2010-04-06 13:49:49 -05:00
Joel Martin 8580b98979 Got DES encryption of password working and colors corrected.
- DES encryption for VNC bit mirrors every bytes of the password. This
  commit has a hard-coded mirrored password. Need to ask user and bit
  mirror it.

- With image data across the wire it's Blue,Green,Red, so twiddle
  things around a bit.
2010-04-06 10:35:25 -05:00
Joel Martin 64ab5c4ded Working with Raw rectangles and capital letter keys. 2010-04-05 23:54:30 -05:00
Joel Martin c8460b0310 Cleanup canvas and vnc code so they can be used together. 2010-04-04 16:08:55 -05:00
Joel Martin f272267bf7 Add Canvas and event experiments.
Correctly handles all three mouse buttons and key presses on firefox
and Chrome.

Has a decent obj properties lister (dirObj).
2010-04-04 15:46:39 -05:00
Joel Martin 489d167643 Do base64 encode/decode of stream. Send SetEncoding and FB update request. 2010-04-02 19:17:46 -05:00
Joel Martin a793fa460f Base64 Javascript encode/decode library.
From http://www.webtoolkit.info/
2010-04-02 19:17:01 -05:00
Joel Martin 9ec97d8635 Base64 encode/decode for client Javascript. 2010-04-02 19:16:25 -05:00
Joel Martin 65e27ddd4c First RFB protocol stub implementation.
- Requires wsproxy to proxy to the VNC server.
2010-04-01 11:36:22 -05:00
Joel Martin f9d4566547 Add minimal python directory web server. 2010-03-31 19:44:48 -05:00
Joel Martin 8b945f2a94 Add RFB specs and move *.js files into include/ 2010-03-31 19:43:09 -05:00
Joel Martin ce0e28c7d9 Some wsproxy simplifications. 2010-03-31 19:37:49 -05:00
Joel Martin 3292c4a995 Web Socket to TCP socket proxy and HTML interface.
- wsproxy.py: creates a web sockets to TCP socket proxy.
- interact.html: prints received Web Sockets data and has text box to
  send strings.
2010-03-31 18:21:03 -05:00
Joel Martin feb4e5f801 Simplify ws_echo.py code. 2010-03-31 18:20:48 -05:00
Joel Martin 033df68db1 Simpler non-threaded ws_echo.py 2010-03-31 15:25:13 -05:00
Joel Martin 5505589604 Note enter into ws onclose. 2010-03-31 15:24:43 -05:00
Joel Martin 77c58e19ad Add server and client HTML echo test and mootools library 2010-02-17 14:54:38 -06:00