CLRZMQ PubSub通过TCP工作,通过PGM而不是那么多

时间:2013-12-23 17:25:10

标签: c# windows zeromq multicast

当前的NuGet 3.0.0-rc1和最新的OpenPGM / ZeroMQ / CLRZMQ存在此问题,这些来源各自来源(过去几天都在更新,x64):

  • 在C#中有一个正常工作的2.2.5 CLRZMQ PGM Pub / Sub示例(即环境功能正常,安装了MSMQ,运行VS2010作为管理员,防火墙不是因素)
  • 在C#中有一个工作的3.0.0 CLRZMQ TCP Pub / Sub类库(建议代码应该工作)
  • 我将端点地址从工作(但较旧的)CLRZMQ示例交换到新的3.0.0类库

我没有收到消息 - 发布者发送10条消息,通过TCP我们获得全部10封,通过PGM无(不是迟到的木匠问题。)

我们成功创建了Pub / Sub套接字,并且发布者/订阅者在任何情况下都不会抛出任何错误。我确实使用了Poller,但即使用阻塞的Receive()替换它也不会给我任何消息 - 除了Poller使用TCP之外。

Pub端点描述:"pgm://10.195.128.121;232.1.1.6:9606"

子端点描述:"pgm://;232.1.1.6:9606"

也许CLRZMQ的2.2.5和3.0.0之间有关于如何解析它们的变化?

帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

看起来问题是在同一个盒子上尝试使用多播/ PGM环回。它在单独的盒子上工作正常。

This link提供了有关升级到ZeroMQ v3期间行为更改的更多详细信息。

此链接提供有关ZeroMQ用于多播地址的端点描述格式的更多信息:Open PGM Concepts Transport