【发布时间】: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值显式设置为空字符串?除此之外,检查和发布双方使用的ZeroMQAPI 版本总是公平的(PUB-side system/API +SUB-side system/API details),你会更新吗? -
感谢您的帮助!我刚刚找到了问题和解决方案。
-
我很高兴,上面发布的 set
socket.Subscribe( "" )建议确实帮助您找出问题的根本原因。 (+ 是的,Doron 无处不在,感谢他的巨大帮助和支持)。
标签: zeromq