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.”
- 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
- Extraire les sources de l'archive .tar.gz (téléchargée au préalable sur http://zeromq.org/intro:get-the-software )
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)