J'essaye de faire un courtier simple (c'est-à-dire la topologie en étoile) qui permette à n'importe quel noeud DEALER
de parler à n'importe quel autre noeud DEALER
qui s'est également connecté au courtier. Voici la configuration actuelle:ZeroMQ Simple Broker
// Simple broker
#include <string>
#include <zmq.hpp>
#include <zhelpers.hpp>
using namespace std;
int main()
{
zmq::context_t context(1);
zmq::socket_t router(context, ZMQ_ROUTER);
router.bind("ipc://router.ipc");
while (true)
{
string from_address = s_recv(router);
string to_address = s_recv(router);
string message = s_recv(router);
s_sendmore(router, to_address);
s_sendmore(router, from_address);
s_send(router, message);
}
return 0;
}
Cela fonctionne, cependant, je me sens comme je viens de faire et ce qu'il est inefficace de copier les trames entrantes (les données esp.) En chaînes quand je suis juste échange les positions des deux premières images et l'envoi immédiat.
Ma question est la suivante: existe-t-il une façon standard de faire ce que j'essaie de faire ici?
Il semble que chaque requête google seule me renvoie au lieu monolithique Guide/Bible des exemples de mise en œuvre ...
Merci, je voulais juste en faire une preuve de concept plus que tout - je sais que ZeroMQ est une question de messagerie distribuée et non de messagerie sponsorisée. – RPGillespie
@RPGillespie, pas de soucis :) – bazza