2016-08-03 101 views
0

我有问题建立在ZeroMQPUB/SUB通信(包裹在clrzmq4)。ZeroMQ SUB套接字接收空帧

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

当我设置socket.SubscribeAll()订户接收空帧

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

如果我设置socket.Subscribe("123"),用户表现正常(它接收所有的 “123xxxx ......” 消息)。

我在做什么错了?

谢谢!

+0

如果你使用'.SubscribeAll()'方法设置'socket.Subscribe(“”)'** - ie ** not **,但是将'TOPIC-filter'值明确设置为空字符串?除此之外,检查并发布双方正在使用的'ZeroMQ' API版本('PUB'-side system/API +'SUB'-side系统/ API的详细信息)总是公平的,你会更新吗? – user3666197

+0

感谢您的帮助!我刚刚发现了问题和解决方案。 –

+0

我很高兴,上面发布的提议**设置'socket.Subscribe(“”)'**确实帮助你摆脱问题的根本原因。 (+是的,多伦无处不在,并为他的巨大帮助和支持格林威治)。 – user3666197

回答

0

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