接口方法
表1 DcClient支持的接口方法
接口 | 说明 |
|---|---|
CreateFromEnv | 创建客户端 ,执行初始化操作 |
Open | 打开客户端,开始消息收发 |
Close | 关闭客户端,清理资源 |
ForbidSendWhenBrokerOverLoaded | 设置是否在离线缓存达到阈值时禁止发送数据 |
SendMode | 设置上报模式(同步|异步) |
OnPointGet | 用于网关处理点位读取请求 |
OnPointSet | 用于网关处理点位设置请求 |
OnModuleShadowReceived | 用于网关处理模块影子,接收下行数采配置 |
StartModuleShadow | 启动模块影子,设置模块影子回调,并触发获取影子的动作 |
GetModuleShadow | 主动获取一次模块影子 |
GetDevicesStatuses | 获取子设备状态 |
PointReport | 点位上报 |
DataSourceConnStateReport | 连接状态上报 |
1. 创建客户端
方法描述:
static DcClient CreateFromEnv();
方法功能:
根据环境变量创建客户端,返回客户端实例。
2. 打开客户端
方法描述:
void Open();
方法功能:
打开客户端,使用客户端其他功能前必须先调用该方法,才能正常收发消息。
3. 打开客户端
方法描述:
void Close();
方法功能:
关闭客户端,清理资源,程序将退出时调用该方法。
4. 点位设置请求处理
方法描述:
PointsSetRsp OnPointsSet(string requestId, PointsSetReq pointsSetReq);
方法功能:
点位设置回调,用于网关处理点位设置请求。
名称 | 类型 | 描述 |
|---|---|---|
requestId | string | 用于唯一标识某次请求的请求ID |
pointsSetReq | PointsSetReq | 点位设置请求的对象,该对象结构见下表 |
@return | PointsSetRsp | 点位设置响应,网关处理完请求以后,需要返回该响应,该对象结构见下表 |
名称 | 类型 | 描述 |
|---|---|---|
Points | Dictionary<string, object> | 按<点位ID,点位对象>存储点位数据的字典 |
名称 | 类型 | 描述 |
|---|---|---|
ResultCode | int | 点位设置请求结果码 |
ResultDesc | string | 点位设置请求结果描述 |
5. 点位读取请求处理
方法描述:
PointsGetRsp OnPointsGet(string requestId, PointsGetReq pointsGetReq);
方法功能:
点位读取回调,用于网关处理点位读取请求。
名称 | 类型 | 描述 |
|---|---|---|
requestId | string | 用于唯一标识某次请求的请求ID |
pointsGetReq | PointsGetReq | 点位读取请求的对象,该对象结构见下表 |
@return | PointsGetRsp | 点位读取响应,网关处理完请求以后,需要返回该响应,该对象结构见下表 |
名称 | 类型 | 描述 |
|---|---|---|
Points | List<string> | 按[点位ID]存储需要读的点位列表 |
名称 | 类型 | 描述 |
|---|---|---|
Points | Dictionary<string, object> | 按<点位ID,点位对象>存储点位读取结果的字典 |
6. 模块影子下行处理
方法描述:
void OnModuleShadowReceived(ModuleShadow shadow);
方法功能:
模块影子下行回调,用于网关接收模块数采配置信息,可根据需要对模块影子进行缓存或持久化。
名称 | 类型 | 描述 |
|---|---|---|
shadow | ModuleShadow | 模块影子 |
名称 | 类型 | 描述 |
|---|---|---|
Properties | Dictionary<string, object> | 按<影子属性名,影子属性对象>存储的字典 |
PropertiesUpdateTime | Dictionary<string, long> | 按<影子属性名,更新时间戳>存储的字典,用户可根据更新时间进行增量同步 |
7. StartModuleShadow
方法描述:
void StartModuleShadow(IModuleShadowCallback callback);
方法功能:
启动模块影子,设置模块影子用户回调,并主动触发一次模块影子的获取。SDK在收到下行的模块影子后将调用用户回调。
名称 | 类型 | 描述 |
|---|---|---|
callback | IModuleShadowCallback | 用户回调 |
方法签名 | 描述 |
|---|---|
void OnModuleShadowReceived(ModuleShadow shadow) | 收到模块影子回调 |
8. GetModuleShadow
方法描述:
void GetModuleShadow();
方法功能:
主动获取一次模块影子,获取成功后将触发用户回调。
9. GetDevicesStatuses
方法描述:
DevicesStatuses GetDevicesStatuses(List<string> deviceIds, int timeout);
方法功能:
获取子设备状态。
名称 | 类型 | 描述 |
|---|---|---|
deviceIds | List<string> | 要查询的子设备ID列表 |
timeout | int | 超时,范围1~30000(单位ms) |
@return | DevicesStatuses | 查询到的子设备状态列表 |
名称 | 类型 | 描述 |
|---|---|---|
Devices | List<DeviceStatus> | 存储设备状态信息的列表 |
名称 | 类型 | 描述 |
|---|---|---|
DeviceId | string | 设备ID |
Status | string | 设备状态 |
10. PointReport
方法描述:
void PointReport(PointsReport pointsReport);
方法功能:
点位上报。
名称 | 类型 | 描述 |
|---|---|---|
pointsReport | PointsReport | 要上报的点位数据 |
名称 | 类型 | 描述 |
|---|---|---|
Points | Dictionary<string, object> | 以<点位ID,点位数据对象>存储的字典 |
11. DataSourceConnStateReport
方法描述:
void DataSourceConnStateReport(DataSourceConnState dataSourceConnState);
方法功能:
上报连接状态。
名称 | 类型 | 描述 |
|---|---|---|
dataSourceConnState | DataSourceConnState | 存储连接状态的对象 |
名称 | 类型 | 描述 |
|---|---|---|
State | string | 连接状态 |
Info | string | 状态描述 |
12. ForbidSendWhenBrokerOverLoaded
属性描述:
bool ForbidSendWhenBrokerOverLoaded { get; set; }; 属性功能:
设置是否在离线缓存满时禁止发送数据,默认值为false。当EdgeHub离线缓存达到阈值时,若设定为true,在属性上报和点位上报发送数据时,会抛出HubOverloadedException异常。
13. SendMode
属性描述:
ClientConfig.SendMode SendMode { get; set; }; 属性功能:
设置上报模式,默认为异步发送,若设定为同步发送,则上报数据时将同步等待3秒,超时则抛出TransportException异常。
名称 | 描述 |
|---|---|
SendMode.Async | 异步发送 |
SendMode.Sync | 同步发送 |

