【发布时间】:2017-08-24 17:09:03
【问题描述】:
我刚刚学习 0MQ,很难理解在我的用例中使用哪种模式。
我想创建一个可供多个客户端连接的服务器。服务器将分发工作项,但每个工作项都必须转到特定的客户端。例如,如果服务器从一副牌中挑选卡片,我希望所有的心都给一个工人,所有的钻石都给第二个工人,等等。(工作项目实际上是来自会话的事件,我需要每个事件单个会话转到同一个工作人员。)
我为此使用什么模式,有没有人有任何代码显示类似(在 Python 中):
context = zqm.Context()
socket = context.socket(which type?)
socket.bind("tcp://*:5555")
#wait for 4 clients to connect (how?)
while True:
card = GetNextCard()
if card.suit == HEARTS:
send card to Worker #1 (how?)
if card.suit == DIAMONDS:
send card to Workder #2
etc...
基本上,我如何跟踪已连接到服务器的客户端,并将工作项仅发送到已连接的 n 个客户端之一?
【问题讨论】:
-
这听起来像是 Majordomo 模式 (zguide.zeromq.org/page:all#toc98)。