---
name: "zmq_msg_more"
section: "3"
platform: "linux"
package: "zeromq"
version: "4.3.5-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/zmq_msg_more"
---

# zmq\_msg\_more(3)

indicate if there are more message parts to receive

## NAME

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

## SYNOPSIS

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

## 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

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

**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

[**zmq\_msg\_get**(3)](/zmq_msg_get/3.md) [**zmq\_msg\_set**(3)](/zmq_msg_set/3.md) [**zmq\_msg\_init**(3)](/zmq_msg_init/3.md) [**zmq\_msg\_close**(3)](/zmq_msg_close/3.md) [**zmq**(7)](/zmq/7.md)

## 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**.
