nanomsg是否将'frames'的概念作为zeromq?

时间:2015-09-28 03:48:05

标签: c++ nanomsg

我一直在使用zeromq并广泛使用多部分消息。在C ++中,我使用zmq_sendiov / zmq_recviov来发送/ recv多部分消息。好处是我可以将每个消息“框架”放在一个iovec中,并一次性使用该调用发送/ recv。

最近我决定尝试一下nanomsg,我发现nanomsg有nn_sendmsg / nn_sendmsg也使用了iovec。问题是:nanomsg确保收到的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可以自由重新组合缓冲区?

由于 拉尔夫

2 个答案:

答案 0 :(得分:1)

目前在关于此的文档中没有说什么,但我确信nanomsg确保收到的iovec的结构与发送的结构相同,因为存在一个单元测试(参见{{ 3}}),这证实了我的假设。

答案 1 :(得分:1)

nanomsg-1.0.0已经支持iov nn_sendmsg