我一直在使用zeromq一段時間並廣泛使用多部分消息。在C++中,我使用zmq_sendiov/zmq_recviov發送/ recv多部分消息。好處是我可以將每個消息的'框架'放在一個iovec中,並且一次使用呼叫發送/ recv。nanomsg是否具有「幀」作爲zeromq的概念?
最近我決定給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的陣列,用「你好」和「世界」中的每個元素,或nanomsg是免費重新組裝緩衝區?
感謝 拉爾夫
這個文檔中