Smart Intuitive Messaging Platform with Less Effort.
S.I.M.P.L.E. (or just simple) is a cross-platform C++ library to easily exchange data across a network.
It is built on top of ZeroMQ and uses custom FlatBuffers messages.
It provides a clean interface to the classic Publisher-Subscriber and Request-Reply patterns.
simple can be used on Windows, Linux and OSX.
- A C++11 compiler (tested on gcc-5, clang-3.8, msvc14 and msvc15.)
- CMake 3.3+
- ZeroMQ 4.2.4+
- cppzmq 4.3.1+
- FlatBuffers 1.9.0+
simple offers a light interface to FlatBuffers messages.
Common messages are provided and live under simple_msgs.
New messages can be defined - in the simple_msgs format - and sent/received using the same interface.
Install the binaries
Build from source: on Windows or Linux/Mac OSX.
Use in your C++ project: via CMake. We suggest Windows users to link to the static version of simple.
- A Publisher sends (publishes) data to any Subscriber that is listening to its IP address/port.
- A Subscriber waits for new data from a Publisher and asynchrounsly receives it.
An example of the Publisher/Subscriber pattern in C++ is available here.
- A Client sends a request to an IP address/port of a Server and expects a reply from it.
- A Server waits for requests and asynchrounsly replies to a Client.
An example of the Client/Server pattern in C++ is available here.
We are heavy (and happy) ROS users and we aim to provide a very similar interface.
Chair for Computer Aided Medical Procedures
Technical University of Munich, Germany.
Salvatore Virga> : salvo.virga@tum.de
Fernanda Levy Langsch : fernanda.langsch@tum.de
simple is distributed under the MPL v2.0 License. See LICENSE for details.