문제

Having this issue with the current NuGet 3.0.0-rc1 and latest OpenPGM/ZeroMQ/CLRZMQ built from their respective sources (all updated within past few days, x64):

  • Have a working 2.2.5 CLRZMQ PGM Pub/Sub example in C# (i.e. Environment is capable, MSMQ installed, running VS2010 as admin and firewall not a factor)
  • Have a working 3.0.0 CLRZMQ TCP Pub/Sub class library in C# (suggesting the code should work)
  • I swap in the endpoint address from the working (but older) CLRZMQ example into the new 3.0.0 class library

I get no messages - the publisher sends 10 messages, via TCP we get all 10, via PGM none (not the late joiner problem.)

We do successfully create the Pub/Sub sockets and no errors are thrown by either the publisher/subscriber in any scenario. I do use a Poller, but even replacing that with a blocking Receive() doesn't get me any messages - and besides the Poller works with TCP.

Pub endpoint description: "pgm://10.195.128.121;232.1.1.6:9606"

Sub endpoint description: "pgm://;232.1.1.6:9606"

Perhaps there are changes between 2.2.5 and 3.0.0 of CLRZMQ on how these are parsed?

Help appreciated!

도움이 되었습니까?

해결책

Looks like the problem was the attempted use of multicast/PGM loopback on the same box. It works fine on separate boxes.

This link gives more details for the change in behavior during the upgrade to to v3 of ZeroMQ.

And this link gives more information on the endpoint description format used by ZeroMQ for multicast addresses: Open PGM Concepts Transport

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top