Basic multi-platform implementation for IPC Interface, using different data transports:
- TCP Network Sockets for local and remote request-reply
- UDP Network Sockets for local and remote client-server and publisher-subscriber
- Shared Memory for only local communication
On a terminal, get the GitHub code repository with:
$ git clone https://github.com/EESC-MKGroup/Simple-Async-IPC [<my_project_folder>]
This implementation depends on IPC Interface project, which is added as git submodules.
To add those repositories to your sources, navigate to the root project folder and clone them with:
$ cd <my_project_folder>
$ git submodule update --init
With dependencies set, you can now build the library to a separate build directory with CMake:
$ mkdir build && cd build
$ cmake [-DIP_NETWORK_LEGACY=true] ..
$ make
For building it manually e.g. with GCC in a system without CMake available, the following shell command (from project directory) would be required:
$ gcc ipc.c ipc_base_ip.c ipc_base_shm.c -I. -Iinterface -shared -fPIC -o libasyncipc.{so,dll}