2014-07-13 42 views
0

我在Linux上使用ZMQ 3,我無法理解我的代碼的行爲。我有兩個應用程序與ZMQ的IPC連接。客戶端生成REQ套接字並連接到它,服務器生成ROUTER套接字並綁定到它。然後客戶端發送消息到REQ套接字。根據ZMQ指南,ROUTER應該收到3條消息(身份,空白,內容),但實際上它會得到4條消息(2個身份標識,空白和內容)。我已經閱讀了ZMQ指南和ROUTER套接字代碼,我仍然不明白爲什麼會有這種奇怪的多部分身份信息。這是我的代碼的一部分:pastebin.com/MWySYm2CZMQ中的多部分身份信息

回答

1

您不明確說明您在客戶端和服務器上使用的zmq版本。早期的v3版本之間存在已知的不兼容性,但是IIRC v3.2有很多工作使得有線協議穩定(並且其他版本不應該出現類似的不兼容性)。是的,文檔是正確的,你應該看到REQ的3幀。

FWIW。我建議切換使用CZMQ綁定,因爲API比原始zmq更容易使用。