有一个服务器,它收集一些数据,然后将其发送到客户端。我需要确保客户端获得服务器发送的数据。我以为这里的PUB / SUB模式是最好的选择,但是我不明白如何检查客户端是否获得了数据?我听到了一些有关可靠的PUB / SUB的信息,但是没有真实的例子。

有任何想法,建议,示例和帮助吗?

简单发布者:

import zmq

context = zmq.Context()

server_socket = context.socket(zmq.PUB)
server_socket.bind('tcp://*:5559')

while True:
    server_socket.send('message')


简单订户:

import zmq

context = zmq.Context()

client_socket = context.socket(zmq.SUB)
client_socket.setsockopt(zmq.SUBSCRIBE, '')
client_socket.connect('tcp://localhost:5559')

while True:
    print client_socket.recv()


在此示例中,我需要确保订户获得“消息”。

最佳答案

一般而言,pubsub不适合您的用例。 pubsub的基本原理之一是发布者和订阅者是分离的。即发布者不应意识到其订阅者,也不应受到其影响。可以有任何数量的订户,包括没有。

您似乎需要一个订阅者,这打破了这一点。

关于python - 数据获取检查PUB/SUB模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16265299/

10-12 16:53