ZeroMQ est une librairie de communication inter-applications (IPC), TCP, multicast… basée sur les socket ethernet.
Elle est très simple d'utilisation et supporte plus de 30 langages de programmation
Voici la traduction du §To build on UNIX-like systems de la page http://zeromq.org/intro:get-the-software:
“Si vous avez le choix, le système d'exploitation le plus confortable pour développer1) avec ZeroMQ est probablement Ubuntu.”
sudo apt-get install libtool pkg-config build-essential autoconf automake installed
dpkg -l e2fsprogs
tar xvfz zeromq-4.2.1.tar.gz
./configure make
sudo make install
sudo ldconfig
sudo apt-get install libzmq-dev
Pour voir les options de configuration, lancer:
./configure --help
Lisez INSTALL pour plus de détails
Dans un répertoire de tests ou de développements, le répertoire workspace pour la suite, récupérons les exemples avec git:
git clone --depth=1 https://github.com/imatix/zguide.git
Dans un premier terminal, lançons un serveur:
cd ~/workspace/zguide/examples/C++ g++ hwserver.cpp -std=c++11 -lzmq -o hwserver ./hwserver
Dans un second terminal, lançons un client:
cd ~/workspace/zguide/examples/ python hwclient.py
Le client envoie des requêtes "Hello" au serveur qui va lui répondre "World"
Il est défini ci-dessus un serveur en C++ et un client en Python mais vous pouvez évidemment utiliser le même langage pour les deux, d'autres langages pour l'un et l'autre…
Un autre exemple intéressant pour débuter est le psenvpub (publicateur⇔publisher) et psenvsub (lecteur⇔subscriber)