zmq_msg_more - Man Page

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 0MQ 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 0MQ community. To make a change please read the 0MQ Contribution Policy at

Referenced By


08/13/2020 0MQ 4.3.3 0MQ Manual