用 zmq_pair 写一个 发布订阅模式代码
时间: 2024-03-05 12:53:01 浏览: 74
抱歉,ZMQ_PAIR连接模式不适用于发布订阅模式。对于发布订阅模式,可以使用ZMQ_PUB和ZMQ_SUB套接字类型。下面是一个使用ZeroMQ的Python API实现的发布订阅模式的示例代码:
Publisher(发布者):
```python
import zmq
import time
context = zmq.Context()
socket = context.socket(zmq.PUB) # 创建一个发布者套接字
socket.bind("tcp://*:5555") # 绑定到本地地址,端口为5555
while True:
time.sleep(1)
# 发布消息
socket.send_string("Hello from publisher!")
```
Subscriber(订阅者):
```python
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB) # 创建一个订阅者套接字
socket.connect("tcp://localhost:5555") # 连接到发布者的地址
# 订阅所有主题
socket.subscribe(b'')
while True:
# 接收消息
message = socket.recv()
print("Received message: %s" % message.decode())
```
在上述代码中,发布者将消息发送到端口5555,而订阅者连接到该地址并订阅所有主题。当发布者发布一条消息时,订阅者将接收到该消息并将其打印到控制台上。
阅读全文