ZMQ\_MSG\_MORE(3) 0MQ Manual ZMQ\_MSG\_MORE(3)

# [NAME](#NAME)

zmq\_msg\_more - indicate if there are more message parts to receive

# [SYNOPSIS](#SYNOPSIS)

**int zmq\_msg\_more (zmq\_msg\_t \*message);**

# [DESCRIPTION](#DESCRIPTION)

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](#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.

# [EXAMPLE](#EXAMPLE)

**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");


        break;


    }


    zmq_msg_close (&part);
}
```

# [SEE ALSO](#SEE_ALSO)

[**zmq\_msg\_get**(3)](/man/enterprise-packages/zeromq-nocurve/zmq_msg_get.3) [**zmq\_msg\_set**(3)](/man/enterprise-packages/zeromq-nocurve/zmq_msg_set.3) [**zmq\_msg\_init**(3)](/man/enterprise-packages/zeromq-nocurve/zmq_msg_init.3) [**zmq\_msg\_close**(3)](/man/enterprise-packages/zeromq-nocurve/zmq_msg_close.3) [**zmq**(7)](/man/enterprise-packages/zeromq-nocurve/zmq.7)

# [AUTHORS](#AUTHORS)

This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at **http://www.zeromq.org/docs:contributing**.

10/08/2026 0MQ 4.3.5

---

Document: zmq_msg_more(3) from zeromq-nocurve 4.3.5-r7 (Chainguard OS)
Source: https://github.com/zeromq/libzmq
