ZMQ请求发送保证

时间:2018-03-30 12:36:25

标签: c++ zeromq netmq

我在指南或RFC中找不到任何地方如果使用REQ / REP套接字,假设我通过REQ套接字成功发送消息,它是否保证REP套接字得到消息?

如果不是,当recv调用未在REP套接字上阻塞(根据RFC)时,如何使用超时引入单个客户端/服务器可靠性。

1 个答案:

答案 0 :(得分:0)

它保证......?不可以.Zen-of-Zero不包含交付保证。

如果这听起来很奇怪,请随时重新阅读Zen-of-Zero并享受这些设计原则,这使得ZeroMQ成为如此低延迟,高性能的框架。

有一种间接保证 - 原子交付 - 消息要么完整且没有错误,要么根本没有。也就是说,接收方没有任何类型的残骸,但是,如果有消息通过,则对发送方没有任何保证。

若不怎么样?

在ZeroMQ平凡协议的顶部,用户实现的更高层有一个很大的空间,可能会引入时间控制的重发请求或其他硬化交付执行策略。