客户端示例

路由-代理客户端示例

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}")