zmq_recvmsg

int zmq_recvmsg (void '*socket', zmq_msg_t '*msg', int 'flags');

 

 api用於接收消息, 其具體用法與zmq_recv 一致.

 

example:

   /* Create an empty 0MQ message */

zmq_msg_t msg;

int rc = zmq_msg_init (&msg);

assert (rc == 0);

/* Block until a message is available to be received from socket */

rc = zmq_recvmsg (socket, &msg, 0);

assert (rc != -1);

/* Release message */

zmq_msg_close (&msg);

----

 

.Receiving a multi-part message

----

int64_t more;

size_t more_size = sizeof (more);

do {

    /* Create an empty 0MQ message to hold the message part */

    zmq_msg_t part;

    int rc = zmq_msg_init (&part);

    assert (rc == 0);

    /* Block until a message is available to be received from socket */

    rc = zmq_recvmsg (socket, &part, 0);

    assert (rc != -1);

    /* Determine if more message parts are to follow */

    rc = zmq_getsockopt (socket, ZMQ_RCVMORE, &more, &more_size);

    assert (rc == 0);

    zmq_msg_close (&part);

} while (more);

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章