ZeroMQ PUB / SUB - warum werden nicht mehrere Abonnenten arbeiten?

8

Ich verwende ZeroMQ, um eine Publish / Subscribe-Umgebung zu ermöglichen, die ich brauche. Ich benutze einen Veröffentlichungsserver auf Maschine A mit Python (mit EventLoop), und jetzt habe ich einen Teilnehmer in C ++ auf Rechner B und einen zweiten Teilnehmer in Python (mit EventLoop) auf Rechner C laufen.

Wenn Maschine B Maschine A abonniert, bevor Maschine C dies tut, dann erhält B abonnierte Nachrichten und C nicht. Außerdem, wenn ich die etablierten Verbindungen auf Maschine A betrachte, gibt es nur eine Verbindung für Maschine B, aber nicht für C. Wenn Maschine C A abonniert, bevor B dies tut, dann ist es umgekehrt.

Hier ist mein Veröffentlichungscode:

%Vor%

Hier ist mein Python-Teilnehmercode:

%Vor%

Warum akzeptiert mein Publisher nicht mehrere eingehende Abonnenten-Sockets? Es ist wahrscheinlich erwähnenswert, dass mehrere Abonnenten einwandfrei funktionieren, wenn Sie sie auf Computer A ausführen, aber ich glaube nicht, dass es ein Firewall-Problem ist, weil ich Teilnehmerverbindungen von B und C zu A mit deaktivierter Firewall getestet habe.

    
Bryan 22.10.2012, 20:58
quelle

1 Antwort

5

Danke an alle für die hilfreichen Kommentare im ursprünglichen Beitrag. Dieses Verhalten ist darauf zurückzuführen, dass bei den ZeroMQ-Versionen ein Mismatch verwendet wurde ... ein Versehen meinerseits.

    
Bryan 25.10.2012, 17:16
quelle

Tags und Links