客户端示例¶
路由-代理客户端示例¶
import zmq
import json
# 连接到路由服务器
context = zmq.Context()
socket = context.socket(zmq.DEALER)
socket.connect("tcp://localhost:7000")
# 提交任务
task = {
"MsgType": "MsgTask",
"SN": 1,
"TaskId": "test-task-001",
"ConvertQProg": "[[{'H': [0]}, {'Measure': [[0]]}]]",
"Configure": {"Shot": 1000}
}
# 发送请求
socket.send_json(task)
# 接收确认
ack = socket.recv_json()
print(f"确认消息: {ack}")
# 接收结果(异步)
result = socket.recv_json()
print(f"任务结果: {result}")
发布-订阅客户端示例¶
import zmq
import json
# 连接到发布服务器
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://localhost:8000")
# 订阅主题 'simulator_topic' 以接收所有消息
socket.setsockopt_string(zmq.SUBSCRIBE, b'simulator_topic')
# 接收状态更新
while True:
# 接收主题
topic = socket.recv()
# 接收操作类型
operation = socket.recv()
# 接收数据
data = socket.recv_json()
print(f"接收消息: topic={topic}, operation={operation}")
print(f"数据: {data}")