名称

zmq_msg_more - 指示是否还有更多消息部分需要接收

概要

int zmq_msg_more (zmq_msg_t '*message');

描述

zmq_msg_more() 函数指示当前消息是否是多部分消息的一部分,以及是否还有更多部分需要接收。此方法可以在调用 zmq_msg_close() 之后安全地调用。此方法与使用参数 ZMQ_MORE 调用 zmq_msg_get() 完全相同。

返回值

如果当前消息是多部分消息的最后一部分,或者是一个单部分消息的唯一一部分,zmq_msg_more() 函数将返回零。如果还有更多部分需要接收,它将返回 1。

示例

接收多部分消息
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);
}

另见

作者

本页面由 0MQ 社区编写。要进行更改,请阅读 0MQ 贡献政策,网址为 https://zeromq.cn/how-to-contribute/