Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

zeromq [Le 23/10/2017, 14:27] – créée bcag2zeromq [Le 29/11/2017, 15:36] (Version actuelle) – [Liens] bcag2
Ligne 1: Ligne 1:
 +{{tag> Xenial réseau programmation IPC RPC}}
  
 +====== ZeroMQ (ØMQ) ======
 +ZeroMQ est une librairie de [[wpfr>Communication_inter-processus|communication inter-applications (IPC)]], [[wpfr>Transmission_Control_Protocol|TCP]], [[wpfr>Multicast|multicast]]… basée sur les [[wpfr>Socket#Logiciel|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évelopper((et déployer??… l'installation sous Windows, à ce jour (juillet 2017) est compliquée)) avec ZeroMQ est probablement Ubuntu.” :-D
 +
 +  * Assurez-vous que les librairies suivantes sont installées:\\
 +  <code>sudo apt-get install libtool pkg-config build-essential autoconf automake installed</code>
 +  * Vérifiez que //uuid-dev// package, //uuid/////e2fsprogs// RPM ou équivalent sont également installé:\\
 +  <code>dpkg -l e2fsprogs</code>
 +  * Extraire les sources de l'archive .tar.gz (téléchargée au préalable sur [[http://zeromq.org/intro:get-the-software]] )\\
 +  <code>tar xvfz zeromq-4.2.1.tar.gz</code>
 +  * Compiler:\\
 +  <code>./configure
 +  make</code>
 +
 +  * Installer ZeroMQ:\\
 +  <code>sudo make install</code>
 +  * Enfin (dans tous les cas) lancez:\\
 +  <code>sudo ldconfig</code>
 +  * Installer aussi:\\
 +  <code>sudo apt-get install libzmq-dev</code>
 +
 +Pour voir les options de configuration, lancer:\\
 +<code>./configure --help</code>
 +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]]:\\
 +<code>git clone --depth=1 https://github.com/imatix/zguide.git</code>
 +
 +Dans un premier terminal, lançons un serveur:
 +<code>cd ~/workspace/zguide/examples/C++
 +g++ hwserver.cpp -std=c++11 -lzmq -o hwserver
 +./hwserver</code>
 +
 +Dans un second terminal, lançons un client:
 +<code>cd ~/workspace/zguide/examples/
 +python hwclient.py</code>
 +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 =====
 +  * **(en)** [[http://zeromq.org|zeromq.org, le site officiel]]
 +  * **(en)** [[https://github.com/zeromq|github.com/zeromq, la page du dépôt]]
 +  * [[http://www.geek-directeur-technique.com/2011/09/21/zeromq-la-super-bibliotheque-reseau|Un article en français qui explique bien zeromq]]
 +
 +----
 +//Contributeur principal: [[:utilisateurs/bcag2]]//