2016-08-03 104 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瞭解詳細信息,但其他人可能會遇到同樣的問題的可能性不大。