我正在尝试在ZeroMQ中传递多部分消息。更具体地说,我想传递一个int
,后跟一个指向向量vector<T>*
的指针。我想出了以下代码:
zmq::zmq_msg_t msg1;
zmq::zmq_msg_init_data ( &msg1, i, sizeof( i ), NULL, NULL );
zmq::zmq_send ( publisher_, &msg, ZMQ_SNDMORE );
zmq::zmq_msg_t msg2;
zmq::zmq_msg_init_data ptr, sizeof( ptr ), NULL, NULL );
zmq::zmq_send ( s, &msg, 0 );
我不确定这是否有效,因为zmq_send
方法中的数据参数似乎是void*
类型,而我只发送一个值。
另外,有谁能告诉我如何在另一方单独收到这两条消息? Zero-copy and Multi-part Messages仅显示当要获取的消息数量未知时如何获取消息。但就我而言,它是两个。有更简单的方法吗?