【问题标题】:ZeroMQ SUB Socket receives empty framesZeroMQ SUB Socket 接收空帧
【发布时间】:2016-08-04 19:29:26
【问题描述】:

我在ZeroMQ(包裹在clrzmq4)中建立PUB/SUB通信时遇到问题。

虽然我使用的是.NET 包装器(clrzmq4),但它实际上使用了libzmq,所以我相信这个问题代表(可以用任何编程语言解决)。

当我设置socket.SubscribeAll()时,订阅者会收到空帧

虽然发布者发送包含X 字节的单帧消息,但订阅者会收到一个 帧消息。如果发布者发送多帧消息,每帧非空,订阅者收到多帧消息,但所有帧都是空的。

如果我设置 socket.Subscribe( "123" ),订阅者行为正常(它会收到所有“123xxxx...”消息)。

我做错了什么?

谢谢!

【问题讨论】:

  • 如果您设置 socket.Subscribe( "" ) 会发生什么 - 即 使用 .SubscribeAll() 方法,但将 TOPIC-filter 值显式设置为空字符串?除此之外,检查和发布双方使用的ZeroMQ API 版本总是公平的(PUB -side system/API + SUB -side system/API details),你会更新吗?
  • 感谢您的帮助!我刚刚找到了问题和解决方案。
  • 我很高兴,上面发布的 set socket.Subscribe( "" ) 建议确实帮助您找出问题的根本原因。 (+ 是的,Doron 无处不在,感谢他的巨大帮助和支持)。

标签: zeromq


【解决方案1】:

原来问题不在ZeroMQ/clrzmq,而是我的其他代码。这个问题非常有趣,您可以查看here 了解详细信息,但其他人不太可能遇到同样的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2015-04-21
    • 2013-06-20
    相关资源
    最近更新 更多