有一个服务器,它收集一些数据,然后将其发送到客户端。我需要确保客户端获得服务器发送的数据。我以为这里的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/