A
Remote
Procedure
Call, which builds on some form of
inter-process communication, provides a mechanism for calling a procedure in a program running on a remote system is called.
Description edit
The big command in this area is Tk's
send, which uses
X server resources to communicate scripts and their results between processes (or more precisely, between Tcl interpreters which have Tk loaded). IPC packages such as
comm emulate send's API.
Macintosh, of course has
Applescript (see also
Applescript and legacy applications) and
TclAE. Both work by sending AppleEvents (AEs) to target applications. The difference is that TclAE lets you construct the AE directly using Tcl commands, whereas Applescript is a separate scripting language whose
tell command constructs an AE and sends it.
A system of
Linux origin is
D-Bus, where the bus is operated by a daemon process that several parties may connect to. Underlying mechanisms include (but are not limited to) unix sockets and TCP/IP sockets, but that level is usually seen only by the standard D-BUS library, which provides a message passing interface.
Tcl RPC Systems edit
- comm
- A socket-based send. Now a part of tcllib.
- TclSOAP
- dp_RPC
- A pure-Tcl replacement for Tcl-DP
- send
- A Tk command to execute a command in a different application.
- SIMPL
- Send/Receive/Reply a-la QNX.
- Tcl-DP
- Adds TCP, UDP, IP-multicast connection management, remote procedure call (RPC), serial communication and distributed object protocols to Tcl. A C API allows non-Tcl RPC clients to send commands to an RPC server and receive responses.
- Scotty's UDP
- Need some clarification on why this should be listed here.
- tclipc1-0.tar.gz
- winsend
- Uses Windows COM to implement send.
- Tkpvm
- Claims to do something along this line.
General RPC Protocols edit
There are Tcl implementations of many of the following protocols
- CORBA
- JSON-RPC
- XML-RPC
- SOAP
- WSDL