won*_*ng2 6 python zeromq pyzmq
我用Forwarder设备写了一个zeromq演示(用pyzmq)
以下是代码(参考https://learning-0mq-with-pyzmq.readthedocs.org/en/latest/pyzmq/devices/forwarder.html):
forwarder.py
import zmq
context = zmq.Context()
frontend = context.socket(zmq.SUB)
frontend.bind('tcp://*:5559')
frontend.setsockopt(zmq.SUBSCRIBE, '')
backend = context.socket(zmq.PUB)
backend.bind('tcp://*:5560')
zmq.device(zmq.FORWARDER, frontend, backend)
Run Code Online (Sandbox Code Playgroud)
sub.py
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect('tcp://localhost:5560')
socket.setsockopt(zmq.SUBSCRIBE, '')
while True:
print socket.recv()
Run Code Online (Sandbox Code Playgroud)
pub.py
import zmq, time
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.connect('tcp://localhost:5559')
# time.sleep(0.01)
socket.send('9 hahah')
Run Code Online (Sandbox Code Playgroud)
我跑python forwarder.py,python sub.py在终端
然后运行python pub.py,订阅者无法获取消息.但是,如果我在发送之前睡了一点时间(例如0.01秒),它就可以工作了.
所以我的问题是,为什么我sleep之前发送?谢谢.
| 归档时间: |
|
| 查看次数: |
2639 次 |
| 最近记录: |