我已经使用zeromq一段时间了,并且广泛使用多部分消息。在C++中,我使用zmq_sendiov / zmq_recviov发送/接收多部分消息。好处是我可以将每个消息“框架”放入一个iovec中,并使用该调用一次性发送/接收。
最近我决定试一试nanomsg,我意识到nanomsg具有nn_sendmsg / nn_sendmsg,它也使用iovec。问题是:nanomsg是否确保所接收的iovec的结构与发送的iovec的结构相同?例如,假设我放
msg[0].iov_base = "Hello";
msg[0].iov_len = 5;
msg[1].iov_base = "World";
msg[1].iov_len = 5;
并发送,接收端是否会获得相同的iovec数组,每个元素中都带有“Hello”和“World”,或者nanomsg可以自由地重新组装缓冲区?
谢谢
拉尔夫
最佳答案
nanomsg-1.0.0已支持iov
nn_sendmsg