Intial commit
This commit is contained in:
148
tcl-dp/README
Normal file
148
tcl-dp/README
Normal file
@@ -0,0 +1,148 @@
|
||||
|
||||
Tcl Distributed Programming (Tcl-DP)
|
||||
(Version 4.0b2; Dec 10, 1997)
|
||||
|
||||
Brian C. Smith, Mike Perham, Tibor Janosi
|
||||
Department of Computer Science
|
||||
Cornell University
|
||||
|
||||
This directory contains a freely distributable extension to Tcl/Tk
|
||||
called Tcl Distributed Programming (Tcl-DP). Tcl-DP adds TCP, UDP, and
|
||||
IP-multicast connection management, remote procedure call (RPC), and
|
||||
distributed object protocols to Tcl/Tk. A C interface to the RPC
|
||||
primitives is also provided.
|
||||
|
||||
Background
|
||||
----------
|
||||
|
||||
Tcl stands for the Tool Command Language, a freely distributable,
|
||||
embeddable scripting language package. Tk is an freely distributable
|
||||
window interface toolkit and widget library implemented by a
|
||||
collection of new commands added to Tcl. Information about Tcl/Tk is
|
||||
available from http://www.sunlabs.com/research/tcl. Tcl-DP was
|
||||
originally developed for Tcl 6.5 and Tk 3.0. Tcl-DP 4.0b2 is compatible
|
||||
with both Tcl 7.6 and Tcl 8.0 (release versions only).
|
||||
|
||||
This distribution contains a loadable module for Tcl 8.0. HTML pages
|
||||
that describe the commands, and several examples that illustrate how
|
||||
to use Tcl-DP to build simple distributed applications. This file,
|
||||
and Tcl-DP source code, is available from
|
||||
|
||||
http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html
|
||||
|
||||
Both source and binary releases are available from this location.
|
||||
|
||||
In the examples subdirectory, several sample applications are supplied
|
||||
that use Tcl-DP. As you can see from the examples, the distributed
|
||||
programming mechanisms of Tcl-DP are very simple. A dp_RPC command,
|
||||
for example, sends a Tcl command to a remote process, which evaluates
|
||||
the command in the destination Tcl interpreter and returns the result
|
||||
as the value of the dp_RPC command.
|
||||
|
||||
New Features in 4.0
|
||||
-------------------
|
||||
|
||||
Tcl-DP 4.0 represents the first major rewrite of the code base since its
|
||||
beginning. This version is distributed as a loadable module for Tcl 8.0
|
||||
that adds RPC and several communication protocols (TCP, UDP, IP-multicast,
|
||||
email, and serial lines) to Tcl. Tcl-DP 4.0 uses the Tcl channel abstraction
|
||||
for all I/O. DP's RPC layer has been rewritten to work with any DP registered
|
||||
channel, allowing RPCs to be performed across a normal TCP network,
|
||||
over a serial link or even via e-mail! DP 4.0 also introduces plug-in
|
||||
filters that that allow a programmatic filter to be inserted into any
|
||||
network layer, allowing experimental or secure protocols to be built
|
||||
easily.
|
||||
|
||||
Summary of new features:
|
||||
|
||||
* RPC over ANY read/writable non-blocking channel.
|
||||
* Tcl_Channel drivers for TCP, UDP and IP Multicast protocols.
|
||||
* Tcl_Channel drivers for serial ports and e-mail (via sendmail).
|
||||
* Plugin Filter API that can attach to a Channel and manipulate the
|
||||
incoming/outgoing data (i.e. uuencode/uudecode for email,
|
||||
sequencing for UDP, etc.)
|
||||
* Designed from the ground up to be portable and easily extensible
|
||||
(simple to add your own Channels or filters).
|
||||
|
||||
How to compile the Tcl-DP 4.0 source
|
||||
------------------------------------
|
||||
|
||||
On SunOS 4.1, Solaris 2.5, Linux 2.0, HP/UX 9.0:
|
||||
|
||||
1) Download the Tcl source and unarchive it into a directory
|
||||
2) Download the Tcl-DP 4.0 source and unarchive it into the same directory
|
||||
At this point, Tcl and Tcl-DP should be sibling directories.
|
||||
3) Make Tcl. See the Tcl documentation on how to do this.
|
||||
4) Change directory to tcl-dp/unix and type './configure'
|
||||
5) Type 'make'
|
||||
6) Assuming all went well, you can test the binary by typing 'make tests'
|
||||
This step is optional.
|
||||
7) Please see "How to Install the Tcl-DP 4.0 Binaries" below.
|
||||
|
||||
Windows:
|
||||
|
||||
NOTE: You must use Microsoft Visual C++!
|
||||
1) Download the Tcl source and unarchive it into a dir.
|
||||
2) Download Tcl-DP 4.0 source and unarchive it into the same dir.
|
||||
At this point, Tcl and Tcl-DP should be in sibling directories.
|
||||
3) Make Tcl. See the Tcl docs on how to do this.
|
||||
4) Change directory to tcl-dp/win and copy either "makefile.76" or
|
||||
"makefile.80" to "makefile", depending on your version of Tcl.
|
||||
5) Type "nmake" to build Tcl-DP.
|
||||
6) Assuming all went well, you cam test the binary by typing "nmake
|
||||
tests". This step is optional.
|
||||
7) Please see "How to Install the Tcl-DP 4.0 Binaries" below.
|
||||
|
||||
How to install the Tcl-DP 4.0 Binaries
|
||||
--------------------------------------
|
||||
|
||||
Tcl-DP uses a homegrown tool to install itself: Teki. Teki is a
|
||||
Tcl/Tk application that can manage Tcl packages and automatically install
|
||||
or uninstall them. To install the Tcl-DP binaries, simply run teki.tcl
|
||||
in wish and select 'File | Install'. Select dp.tek and Teki should
|
||||
install DP into your Tcl/Tk installation. NOTE: we assume that wish
|
||||
has been installed correctly on your system.
|
||||
|
||||
To use Tcl-DP
|
||||
-------------
|
||||
|
||||
Using Tcl-DP requires nothing more than wish or tclsh. All DP scripts
|
||||
should have "package require dp" as their first line which will
|
||||
automatically load the DP module if it has not been loaded already.
|
||||
|
||||
Please see the FAQ before emailing us if you have problems using DP.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
Documentation for the new DP 4.0 API and library functions is available
|
||||
in the doc subdirectory in standard HTML format. You can use any WWW
|
||||
browser to read the files.
|
||||
|
||||
Bug Reports
|
||||
-----------
|
||||
|
||||
Send mail to tcl-dp@cs.cornell.edu.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
Tcl-DP 4.0 exists due to the following people:
|
||||
|
||||
Brian Smith, Mike Perham, Tibor Janosi, Ioi Lam
|
||||
|
||||
We extend our thanks to everyone who helped to create, debug, and
|
||||
distribute this software. Although there are too many people to mention
|
||||
at this point, the following people deserve special attention:
|
||||
|
||||
John Ousterhout, creator of Tcl/Tk;
|
||||
Pekka Nikander, creator of tcpConnect;
|
||||
Tim MacKenzie, creator of tclRawTCP;
|
||||
Larry Rowe, co-creator of the original Tcl-DP;
|
||||
Lou Salkind, ported Tcl-DP to Tcl 7.0/Tk 3.3
|
||||
R Lindsay Todd, developed security mechanism
|
||||
Peter Liu, developed extended name server code
|
||||
Ulla Bartsich, integrated many changes into Tcl-DP 3.3
|
||||
Mike Grafton, wrote extensive test suites for Tcl-DP 3.x
|
||||
Jon Knight, wrote IP-multicast extensions to Tcl-DP 3.x
|
||||
Gordon Chaffee, ported Tcl-DP 3 to Windows-NT
|
||||
Reference in New Issue
Block a user