当使用零拷贝接收时,有没有办法查询收到的消息的大小?
有了这个我(尝试)实现零拷贝:
zmq_recv(sock, buf, sizeof(buf), 0);
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
zmq_msg_t msg;
zmq_msg_init_data (&msg, buf, sizeof(buf), nullptr, NULL);
zmq_msg_recv(&msg, sock, 0);
size_t len = zmq_msg_size(&msg);
Run Code Online (Sandbox Code Playgroud)
这将返回正确的大小,但不会填充buf.我认为zmq_msg_init_data不打算与zmq_msg_recv接收时使用和重建消息.
zeromq ×1