请把1发布者代码和订阅者代码附上注释都给我举一个简单的例子
时间: 2024-05-14 22:16:47 浏览: 61
好的,下面是一个简单的发布者和订阅者代码的例子,带有注释:
发布者:
```python
import zmq
# 初始化 ZeroMQ 的上下文
context = zmq.Context()
# 创建一个 socket 并指定 socket 类型为 PUB (发布者)
socket = context.socket(zmq.PUB)
# 绑定本地地址
socket.bind("tcp://127.0.0.1:5555")
while True:
# 从用户输入中获取消息内容
message = input("请输入要发布的消息:")
# 消息以 "mytopic" 为主题进行发布
socket.send_string("mytopic " + message)
```
订阅者:
```python
import zmq
# 初始化 ZeroMQ 的上下文
context = zmq.Context()
# 创建一个 socket 并指定 socket 类型为 SUB (订阅者)
socket = context.socket(zmq.SUB)
# 订阅主题为 "mytopic" 的消息
socket.setsockopt(zmq.SUBSCRIBE, b"mytopic")
# 连接到发布者的地址
socket.connect("tcp://127.0.0.1:5555")
while True:
# 接收并打印消息内容
message = socket.recv_string()
print("收到消息:", message)
```
这个例子中,发布者将用户输入的消息加上 "mytopic" 这个主题进行发布,而订阅者则只订阅主题为 "mytopic" 的消息。当发布者发布一条消息后,订阅者就会收到这条消息并打印出来。