客户端

Data/Image/Command 客户端:发布/订阅通信(TCP/IPC),连接目标由中央配置。

概述

quatm/servers/clients.py 提供通信客户端:连接目标由中央配置决定(Data / Image / Command Hub)。GenericClient 提供标准收发接口,适用于小数据(<10k);大 尺寸数据(图像)请用 ImageClient

客户端类

连接说明
GenericClient由配置决定通用收发(含 numpy 数组),subscribe/unsubscribe
DataClientData Hub普通数据的发布与订阅
ImageClientImage Hub图像级大数据发送(send 直接收 numpy 数组)
CommandClientCommand Hub向驱动发送控制命令(命令名拼入主题)
NpEncodernumpy 类型 JSON 序列化

关键方法(GenericClient)

方法说明
send(datadict, arr=None)发布数据(可附带一个 numpy 数组)
recv()接收一帧:(主题, 字典[, 数组]);超时返回 None
subscribe / unsubscribe订阅 / 取消订阅通道
has_new_data非阻塞检查是否有新数据
close关闭 PUB/SUB socket(幂等)

用法

from quatm.servers.clients import DataClient

dc = DataClient(name="pmt")
dc.send({"pmt": 1234}, arr=numpy_array)
topic, data = dc.recv()