2013-04-12 27 views
0

我不知道是否是一個用戶使用ZMQ IPC可以設定多個IPC出版商一個用戶...多IPC出版商和使用python-ZMQ

在思想上我只有一個發佈這樣的,但我需要運行它獲取多個數據類型的多個實例,但每次都發布相同的格式。

context = zmq.Context() 
    publisher = context.socket(zmq.PUB) 
    publisher.connect("ipc://VCserver") 
    myjson = json.dumps(worker.data) 
    publisher.send(myjson) 

我的訂戶:

context = zmq.Context() 
    subscriber = context.socket(zmq.SUB) 
    subscriber.bind("ipc://VCserver") 
    subscriber.setsockopt(zmq.SUBSCRIBE, '') 
    while True: 
     response = subscriber.recv() 
     if response: 
      data = json.loads(response) 
      check_and_store(data) 

我的訂戶每次正在檢查從數據相同的參數並將其存儲在一個分貝。

我不知道這是否是可能的,因爲這種溝通方式使用共享文件,也許我應該考慮在每一個實例發佈者 - 訂閱對...

編輯:每個出版商將發送2KB aprox的,100次/秒

回答

2

你絕對可以有多個發佈,唯一的限制是,你不能有多個粘合劑上一個IPC插槽 - 每個連續的結合根本則會覆蓋以前的(而不是TCP,在那裏你會如果得到EADDRINUSE你嘗試綁定到一個已經在使用的界面)。你的情況應該很好。

+0

多功能活頁夾與EADDRINUSE做比較微妙!謝謝! – meawoppl