2012-04-08 80 views
2

我有几个工作人员在等待一些工作。我看到,在PULL/PUSH模式中,我需要为工作人员提供客户端的IP地址(使用tcp协议),以便它可以侦听来自那里的请求。然而,在我的情况下,我想有很多的客户,以及来自不同的IP与请求...所以基本上我没有真正有一个静态IP来绑定工作人员从拉。我是否使用了错误的模式或者是否有正确的方法?使用ZMQ从多个客户端提取请求

回答

3

您应该考虑使用路由器 - 经销商模式。你的路由器绑定在两端,它有一个静态IP。它从连接到它的多个客户端拉出,并推送到另一端的工作人员。您可以使用ROUTER/DEALER套接字类型来实现此功能,或者使用PUSH/PULL套接字将客户端连接到工作人员的额外桥接。

+1

zmq中用于PUSH/PULL套接字类型的“额外”桥被称为“STREAMER”。 http://api.zeromq.org/2-2:zmq-device#toc5 – g19fanatic 2012-08-13 12:02:00

+1

是的,“STREAMER”真的解决了这个问题,我在这里找到了一个很好的工作示例:https:// learning-0mq-with -pyzmq.readthedocs.org/en/latest/pyzmq/devices/streamer.html – Tregoreg 2013-08-19 19:20:10