小编fai*_*ker的帖子

ZeroMQ高水位标记不起作用

当我在zmq指南中阅读"持久用户和高水位标记"时,它说"HWM导致ØMQ丢弃它无法放入队列的消息",但是当我运行该示例时没有消息丢失.按ctrl + c终止durasub.py,然后继续.

来自python中的zmq的示例.其他语言是相同的.

durasub.py

import zmq                                              
import time                                             

context = zmq.Context()                                 


subscriber = context.socket(zmq.SUB)                    
subscriber.setsockopt(zmq.IDENTITY, "Hello")            
subscriber.setsockopt(zmq.SUBSCRIBE, "")                
subscriber.connect("tcp://localhost:5565")              


sync = context.socket(zmq.PUSH)                         
sync.connect("tcp://localhost:5564")                    
sync.send("")                                           


while True:                                             
    data = subscriber.recv()                            
    print data                                          
    if data == "END":                                   
        break                                           
Run Code Online (Sandbox Code Playgroud)

durapub.py

import zmq                                        
import time                                       

context = zmq.Context()                           


sync = context.socket(zmq.PULL)                   
sync.bind("tcp://*:5564")                         

publisher = context.socket(zmq.PUB)               
publisher.bind("tcp://*:5565")                    

publisher.setsockopt(zmq.HWM, 2)                  

sync_request = sync.recv()                        

for n in xrange(10):                              
    msg = "Update %d" % n                         
    publisher.send(msg)                           
    time.sleep(1)                                 

publisher.send("END")                             
Run Code Online (Sandbox Code Playgroud)

zeromq

9
推荐指数
1
解决办法
7305
查看次数

标签 统计

zeromq ×1