Updated 2015-11-13 01:19:40 by pooryorick

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