查看http://zguide.zeromq.org/page:all#toc76图表:
根据我的理解,路由器需要经常轮询以听取每个客户的意见。
然后,ROUTER将任何客户端消息转发给经销商。
问题1:ROUTER到DEALER连接是否异步?
问题2:对于服务器的经销商到N经销商工作人员,必须在服务器的经销商处进行轮询吗?
查看本书的文字:
客户端每秒发送一次请求,并收到零个或多个回复。
问题3:我认为0来自一个死亡的工人,即盒子/线程崩溃?怎么可能有多个回复返回-Client?
问题4:经销商的交易商是否同步?
答案 0 :(得分:1)
Q1:没有连接,它的代码如下:
while(router.receive(x))
{
dealer.send(x)
}
注意:不是真正的代码,需要处理路由信息和标记结束帧等。
Q2:是的,假设您的员工回复了这些请求。如果工作人员正在发送回复,而您没有在服务器的经销商处进行投票,则工作人员最终会在排队消息的“高水位线”时阻止。
问题3:取决于用例。经销商/路由器套接字没有发送/接收的消息数量的条件(与REQ / REP不同,它是1:1)。例如,如果工作人员完成的任务可能需要很长时间,您可能希望发送中间'x%完成'消息。
问题4:看到答案Q3,我会补充:取决于你是否希望它。套接字不强制它,你可以将它编码为同步或异步。