Interprocess Communications (IPC) for your Delphi / Kylix application - MsgConnect™
Interprocess communications in Windows can be implemented in a number of ways, such as
- Windows messages;
- Windows mailslots;
- Memory-mapped files (MMF);
- TCP or UDP sockets;
Each of these methods has its own advantages. Windows messages are easy to use for local communication. Mailslots are much like Windows messages but work in local networks. Memory-mapped files are quick and relatively easy way to exchange data when you can't work with window handles (ex. service applications, console applications). Sockets are universal and cross-platform. COM/DCOM is object-oriented and quite high-level.
However all those methods have certain (sometimes, quite serious) drawbacks that we won't describe here. Instead, we offer MsgConnect™ - cross-platform data exchange library for easy inter-process communications.
If you are developing a client-server or distributed system with custom data exchange protocol, MsgConnect™ will help you by providing a message-oriented transport for your data. Moreover, MsgConnect offers transparent compression and encryption of the messages when sending them across the network. And that's not all: with MsgConnect you get support for SOCKS and HTTP proxies, additional transport types (UDP, memory-mapped files) and more...
With MMF (memory-mapped file) and Socket transports MsgConnect offers ways for communicating between Windows services and GUI applications both on the same computer and across network. And you don't need to have them all created in Delphi - you can have a C++ server as a backend with Delphi client as a frontend.