ANNOUNCE: TclRFB Version 0.5

Mac Cody <[email protected]> Mon, 12 May 2003 09:19:44 -0500
Newsgroups gmane.network.vnc.user,gmane.network.vnc.realvnc.general,gmane.network.vnc.realvnc.announce
Message-ID <[email protected]>
ANNOUNCE: TclRFB Version 0.5

TclRFB is a pure-Tcl implementation of the Remote Framebuffer
(RFB) protocol that is used in the Virtual Network Computing
(VNC) remote desktop application.  Currently, TclRFB supports
version 3.3 of the RFB protocol.  Both client and server
functions are supported.  Multiple client and/or server instances
can exist within the same interpreter.  Currently supported RFB
encodings are Raw, CopyRect, RRE, CoRRE, and Hextile.

TclRFB requires Tcl 8.4 or later to run. It does not rely on any
given widget library.  Any widget library with bindings to Tcl
can be used (e.g. Tk, gnocl (gTk), or the Tcl bindings to FLTK)
or none at all.  The authentication component of the protocol is
fully supported when either the TclDES (Data Encryption Standard
and Triple-DES) or TclDESjr (Data Encryption Standard only)
extension is used with TclRFB.  The TclDES and TclDESjr
extensions can be obtained at http://tcldes.sourceforge.net/.

The TclRFB extension is implemented as the rfb namespace. Within
this namespace, procedures and variables that support the
protocol are isolated from the global namespace. Additional
details of the RFB protocol can be found in "The RFB Protocol" by
Richardson and Wood at http://www.realvnc.com/docs/rfbproto.pdf

The intent of TclRFB is to enable the creation of light-weight,
scripted remote interfaces, much like Proxy Tk, used in TeamWave
(see http://www.usenix.org/events/tcl2k/full_papers/roseman/roseman_html/).
The user interface can then be displayed through a VNC viewer,
using either the standalone version (Unix, Windows, Macintosh,
Palm, and other platforms), the Java-based version running in a
web browser, or one based on TclRFB.

An example RFB client, client.tcl, is provided to demonstrate how
to use the TclRFB library's client procedures.  It can be found
in the examples subdirectory of the distribution.  The client
supports bgr233 truecolor pixel format and 24-bit truecolor
(rgb888) pixel format.  The client has been tested against the
Unix VNC server 3.3.3r2 and the TclRFB server, rfbcounter.tcl,
mentioned below.  The performance of the TclRFB client compares
favorably to that of the Unix vncviewer.  Noticeable rendering
lags do occur when mouse cursor movements cause focus changes
between windows and when large amounts of screen area are
written.

An example RFB server, rfbcounter.tcl is provided to demonstrate
how to use the TclRFB library's server procedues.  This server is
inspired by the rfbcounter described at
http://www.uk.research.att.com/vnc/rfbcounter.html.
It can be found in the examples subdirectory of the distribution.
The server supports either a six-digit counter or a 24-hour clock,
which displays in HH:MM:SS format.  The foreground and background
colors can be also be specified.  The server has been tested
against the Unix VNC viewer 3.3.3r2 and the TclRFB client,
client.tcl, mentioned above.  It has also been tested with
multiple clients connecting to it simultaneously.


Future goals and Feedback

There are serveral areas in which TclRFB can be improved or
experimented upon:

o Speed up the pixel encoding and decoding operations.

o Implement additional of RFB encodings (e.g. ZRLE).

o Create a user guide.

o Create more example applications.  One currently in development
    is a TclRFB server that "screen scrapes" from and supplies
    events to a Tk user interface.  It uses the Img extension to
    facilitate "scraping" the Tk widgets.

o Use OpenSSL and the TLS extension to enclose the RFB protocol
    in a secure tunnel.  I don't know if this will connect properly
    to traditional VNC secure tunneling techniques such as ssh/VNC,
    stunnel/VNC, or ZeBeDee/VNC.

o Combine TclRFB with tclhttpd to allow serving of the Java VNC
    client to a browser.  Alternately, the Java VNC client could be
    replaced with a TclRFB client that would run on the Tcl/Tk
    plugin.

For comment and suggestions, I can be contacted at
[email protected].


Availablity

TclRFB is available in gziped tar file format for the Unix
environment and zip file format for the Microsoft Windows
environment. It can be obtained from the TclRFB home page and
SourceForge Summary page.

Home page:
       http://tclrfb.sourceforge.net/
SourceForge Summary page:
       http://www.sourceforge.net/projects/tclrfb

Enjoy!

Mac A. Cody

[[Send Tcl/Tk announcements to [email protected]
   Announcements archived at http://groups.yahoo.com/group/tcl_announce/
   Send administrivia to [email protected]
   Tcl/Tk at http://tcl.tk/ ]]

-- 
  _________________________________________________________________
|                               |                                 |
| Mac A. Cody                   | Principal Physics Engineer      |
| Raytheon Company C3I IGS      | email: [email protected]  |
| Mail Stop HA                  | phone: (972) 205-6452           |
| P.O. Box 660023               |   or   1-800-752-6163 x6452     |
| Dallas, TX 75266              | fax  : (972) 205-7180           |
|_______________________________|_________________________________|
_______________________________________________
VNC-List mailing list
[email protected]
http://www.realvnc.com/mailman/listinfo/vnc-list