Sending messages between applications

Dar Scott dsc at swcp.com
Sun Jul 27 16:38:00 EDT 2003


On Sunday, July 27, 2003, at 02:26 PM, Jez wrote:

> Is it possible to send/receive messages between two independent
> applications built in Revolution? Or do they have to be merged and  
> built
> as a single executable?

There are some platform specific solutions that others can address much  
better than I.

1.
There is a group working on general IPC (and RPC) for Revolution.   
Progress is slow.  There are many observers, a few are involved in  
discussion, and at the moment just three are active, one of whom seems  
to generate more words than real product.  (me)

2.
The "open process for update" based communication might work on some  
platforms.  It does not work well enough for me to use on Windows.  For  
some situations, shell() may work, but there are some limitations to  
stdin and stdout, anyway.

3.
On most platforms and often between platforms there are ways to  
communicate using files, but it can get tricky.

4.
The most general approach is to use tcp/ip.  This will work for  
intra-computer communication as well as that between computers.   
However, it does require tcp/ip to be set up on the computer and for  
isolated computers or those with occasional dialup adaptors, only, this  
setup can be a little tricky.  I think the most important product of #1  
above will be something along this line.

In the mean time I have a script library I may just give away if there  
is an interest.  It is called "Simple Remote Send".  It allows one  
application to send a message to a stack in another application.  It  
has no security.  It uses UDP, so you can lose messages if you send too  
many too fast or send across an unreliable medium.  The caveats in the  
comments take up more lines than the actual handlers.  To improve  
reliability, this should be enhanced to handle TCP.  This may be  
blocked by firewalls on the Internet and even many WANs, and an  
enhancement should include a channel established by a "client" for  
two-way communications if this is needed.  As it is, any program that  
accepts remote messages leaves its computer open to attack from any  
attacker who reads the script and can send general UDP packets into  
your net, so use this only behind a firewall or on an isolated LAN or  
computer.

Dar

************************************************************************ 
****
   Dar Scott Consulting    http://www.swcp.com/dsc/    Programming  
Services
************************************************************************ 
****




More information about the use-livecode mailing list