ØMQ Manual - ØMQ/4.1.7


zmq_msg_more - indicate if there are more message parts to receive


int zmq_msg_more (zmq_msg_t *message);


The zmq_msg_more() function indicates whether this is part of a multi-part message, and there are further parts to receive. This method can safely be called after zmq_msg_close(). This method is identical to zmq_msg_get() with an argument of ZMQ_MORE.

Return value

The zmq_msg_more() function shall return zero if this is the final part of a multi-part message, or the only part of a single-part message. It shall return 1 if there are further parts to receive.


Receiving a multi-part message

zmq_msg_t part;
while (true) {
 // Create an empty ØMQ message to hold the message part
 int rc = zmq_msg_init (&part);
 assert (rc == 0);
 // Block until a message is available to be received from socket
 rc = zmq_msg_recv (socket, &part, 0);
 assert (rc != -1);
 if (zmq_msg_more (&part))
 fprintf (stderr, "more\n");
 else {
 fprintf (stderr, "end\n");
 zmq_msg_close (&part); }

See also

zmq_msg_get(3) zmq_msg_set(3) zmq_msg_init(3) zmq_msg_close(3) zmq(7)


This page was written by the ØMQ community. To make a change please read the ØMQ Contribution Policy at