0

我正在使用pyzmq pub/sub 套接字作为服务器向客户端订阅者发布通知。它工作得很好,但我有一个问题:

有没有办法使用同一个套接字将信息发送回服务器?或者我需要一个单独的插座吗?

用例:我只想让服务器查看谁在积极订阅通知,所以我希望我可以允许客户端定期发回“心跳”消息。我有一个用例,如果没有客户端在监听,我希望服务器生成一个。(这是一个仅使用 localhost 的多进程系统。)

4

1 回答 1

2

你需要一个单独的插座。从 ZMQ 指南(http://zguide.zeromq.org/page:all#Pros-and-Cons-of-Pub-Sub):

消除回声对于真正的可扩展性至关重要。使用 pub-sub,模式可以清晰地映射到 PGM 多播协议,该协议由网络交换机处理。换句话说,订阅者根本不连接到发布者,他们连接到交换机上的多播组,发布者将其消息发送到该组。

为了使其正常工作,PUB 套接字不会将数据发送回订阅者(至少不会以对用户可见的方式。心跳问题在指南中进行了深入讨论:http://zguide.zeromq。 org/page:all#The-Asynchronous-Client-Server-Pattern

此外,如果您想跟踪客户端,请查看 7/MDP 和 18/MDP 协议(​​http://rfc.zeromq.org/spec:7 - 这也在指南中讨论)。

于 2014-02-05T18:28:48.307 回答