我無法獲得ZeroMQ C++包裝來接收多部分消息。使用C版本的相同代碼工作得很好,但是它導致了一個異常,而C++沒有任何解釋。多部分處理代碼如下:如何使用ZeroMQ接收多部分消息?
int _tmain(int argc, _TCHAR* argv[])
{
zmq::context_t context(1);
zmq::socket_t socket(context, ZMQ_REP);
socket.bind("tcp://*:5555");
while(true) {
// the following two lines lead to exception
zmq::message_t request;
socket.recv(&request);
//zmq_msg_t message;
//zmq_msg_init (&message);
//zmq_recv (socket, &message, 0);
}
return 0;
}
它非常簡單;此版本不起作用。但如果我在while循環中註釋掉前兩行並取消註釋當前註釋的(C版本)代碼,它就可以工作。 這是Windows XP sp3,Zeromq 2.1.1和Visual Studio 2010 Express。
如果我發送單部分消息,兩個版本都可以正常工作。 我在做什麼錯?
我被告知升級到最新版本的ZMQ,除了代碼被認爲是好的。 – mahonya 2011-06-10 08:14:50