The MessageServer class
The base.MessageServer
class allows a program to send a key action
over the network to other programs using this service.
This class can be used to join a group of programs to be notified by simple messages (key events). The programs can run on different machines connected together in a network.
Security Note:
Improper use of the base.MessageServer
can lead to a denial-of-service (DoS)
attack. Consider using a solution based on ON
IDLE
to achieve inter-process communication.
This feature is experimental and subject to change.
The base.MessageServer
uses network API capabilities with Sockets and the
UDP protocol. The computers must be configured with a network. The UDP protocol does not
guarantee the transmission of datagrams, therefore messages sent with the MessageServer can
arrive out of order, duplicated, or go missing without notice.
The UDP port is 6600
and the IP address group is 224.0.1.1
.
These cannot be changed.
This feature is only supported in direct connection with the GDC front-end. It is not supported when using other front-ends or when using the GAS.
To implement inter-process communication, consider using a "pulling" method solution based on the
ON IDLE
clause in dialogs: When the
current dialog is waiting for a user action, after some seconds of inactivity, ON
IDLE
block is executed, and the program code can then for example query a database table of
events, where message producers insert new event rows. This solution is more reliable since the
events are persistent in the database, and can also contain detailed information.