Sockets Zeromq应在PubSub模式上绑定哪个套接字

Sockets Zeromq应在PubSub模式上绑定哪个套接字,sockets,zeromq,pyzmq,jzmq,netmq,Sockets,Zeromq,Pyzmq,Jzmq,Netmq,我一直在阅读有关ZeroMQ的文章,更具体地说,是关于NetMQ的,我看到的几乎每个发布/订阅示例都用于绑定发布服务器套接字,然后订阅服务器套接字连接到另一个 所以我想知道是否有可能做相反的事情,我的意思是绑定订阅者套接字,然后发布者连接到它 这可能吗?(我在文档中没有找到任何清晰的内容) 使用这种连接策略的缺点是什么 任何帮助都是有用的。是的,您可以反转它,并且使用这种连接策略没有缺点。。。只要它符合你的目的 在ZMQ中,“绑定”和“连接”背后的驱动概念是,一方通常被认为更可靠(通常会有更少的

我一直在阅读有关ZeroMQ的文章,更具体地说,是关于NetMQ的,我看到的几乎每个发布/订阅示例都用于绑定发布服务器套接字,然后订阅服务器套接字连接到另一个

所以我想知道是否有可能做相反的事情,我的意思是绑定订阅者套接字,然后发布者连接到它

这可能吗?(我在文档中没有找到任何清晰的内容) 使用这种连接策略的缺点是什么


任何帮助都是有用的。

是的,您可以反转它,并且使用这种连接策略没有缺点。。。只要它符合你的目的

在ZMQ中,“绑定”和“连接”背后的驱动概念是,一方通常被认为更可靠(通常会有更少的节点),而另一方被认为更瞬时(可能有更多的节点)。可靠的一方将被视为您的“服务器”,您应该
bind()
在这一方,临时的一方将被视为您的“客户端”(或客户端s),您应该
connect()
在这一方

通常,我们认为一个稳定的“服务器”会不断地向许多“客户端”订阅者发布信息,这些订阅者可能来来往往。这在您看到的示例中有体现:发布时绑定,订阅时连接

但是,您也可以很容易地让一个稳定的“服务器”订阅连接到它的许多“客户端”发布者的任何输出,接受他们在可用时发送的任何信息。在sub上绑定,在pub上连接

您也不局限于一台服务器,这只是一个最简单的例子——但是,如果您在同一台计算机上运行所有套接字,那么您的限制会更大。在同一地址上绑定多个套接字会产生冲突,但是可以将任意多个套接字连接到同一地址

在许多情况下,通信的双方实际上都是为了可靠和长期运行,在这种情况下,将发送信息的节点视为服务器,将接收信息的节点视为客户端是很有用的。在这种情况下,我们回到绑定到pub,连接到sub