Making fast IPC communication between processes and applications look easy. |
Version 2 |
Interprocess Communications (IPC) enables applications to share data. A direct access to applications private data is resticted by the operating system. Applications are usually sharing data by exchanging files on disk, which is a reliable and easy way for sharing data but inefficient since it is rather slow. A more faster way for sharing data between application is the realtime access to it. Interprocess Communications (IPC) is the fastest way for doing realtime access.
ADONTEC's Interprocess Communication Library (ADIPC) is a very low latency and fast interprocess communication library. This library enables fast data exchange between processes on low CPU cycles.
Add interprocess communication to your software applications easily. This library enables your software applications to exchange data fast using a few lines of code only.
Advertise a name for the connection and exchange data betweeen processes easily.
The complete data exchange is driven by events and is executing transparently in background. Your application takes actions only when there is need to. No busy waiting, no blocking of the GUI!
The event driven strategy nearly eliminates the need for additional threads, although this library can be used in a multi-threaded application without restrictions. Thus this library removes complicate tasks from your application, eases the development process and speeds up execution.
ADONTEC's - Interprocess Communication Library (IPC) does not set any limits on the data type you need to transmit between applications.
The application can act as a server or client or both. A client is requesting a service or functionality from a server. A server responds to a client request.
This inter process communication library (IPC) allows client-to-server, server-for-many-clients and client-to-many-server communication (connections).
A server is usually advertising a name (pier) for the service it offers and clients are connecting to that. A very easy to understand concept and easily to integrate. Very little new code needed. But if you need to do some complex data communication protocol, this API will provide what you need. Samples demonstrate this too.
Use one or multiple concurrent IPC connections simultaneously. A server can serve many clients and a client can connect to many servers simultaneously. A server can also establish IPC connections to other servers as any client can.
The used "Low Latency" algorithms reduce unnecessary CPU consumption thus your application does almost appearing pretty idle.
The fast and easy going data exchange will let the application shine brighter.
The following example demonstrates how interprocess data exchange can work by using this IPC library. See the following pseudo code:
Server only is listen to the endpoint pier1 (logical address)
|
Server/Client: Endpoint pier2 is talking to pier1
|
The endpoint (pier name) defines one side of the virtual connection line and the logical address where an application can receive data. The virtual connection line consist of two endpoints, one on each side.
ADIPC_StartListen and ADIPC_StopListen can be called at any time, preferable at program start (Create) and end (Close).
This IPC library sets no limits on the amount of inter-process communication (IPC) connections an application can establish or serve. It is only limited by the available system resources.
ADONTEC's Interprocess Communication Library (IPC) also supports 64 Bit applications and it enables application of different CPU mode (32, 64 Bit) to communicate with each other.
An event reports data as soon received.
At any moment it is known if the remote is still available. If it goes away the application will know.
If you're looking for a fast, easy to use and rock solid inter-process communication library then look no further. Increase your productivity and your software's stability with ADONTEC's Interprocess Communication Library. A fully matured, extremely optimized and well documented IPC component.
ADONTEC's Interprocess Communication Library is a fast and portable solution supporting different Windows versions and compilers.
Samples
for major compilers (e.g. C/C++, C#, Delphi, Pascal, Visual Basic, VB net) are included.
This Document demonstrates different examples that communicate with each other and are included in this product (32 and 64 bit).
Free technical support
included for registered users.
Supported Compiler
C#, C/C++, Delphi incl. CodeGear & Embarcadero RAD, RAD Studio 10, Delphi 10 Berlin & Tokyo, Free Pascal / Lazarus, Microsoft C/C++, Microsoft Visual C++, MinGW, .NET, Pascal, Visual Basic .NET, Visual Studio 5, Visual Studio 6 (VC6), Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, Visual Studio 2015, Visual Studio 2017, Visual Studio 2019, Visual Studio 2022.
License Agreement License terms
Short version: Applications developed using this library can be distributed royalty free.
Incredibly powerful yet easy to use API. Fast integration, fast execution.