ZeroMQ (ØMQ)

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

Installation

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.” :-D

  • Assurez-vous que les librairies suivantes sont installées:
sudo apt-get install libtool pkg-config build-essential autoconf automake installed
  • Vérifiez que uuid-dev package, uuid/e2fsprogs RPM ou équivalent sont également installé:
dpkg -l e2fsprogs
tar xvfz zeromq-4.2.1.tar.gz
  • Compiler:
./configure
  make
  • Installer ZeroMQ:
sudo make install
  • Enfin (dans tous les cas) lancez:
sudo ldconfig
  • Installer aussi:
sudo apt-get install libzmq-dev

Pour voir les options de configuration, lancer:

./configure --help

Lisez INSTALL pour plus de détails

Premiers pas

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)

Liens

1)
et déployer??… l'installation sous Windows, à ce jour (juillet 2017) est compliquée