接口方法
表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 |
同步发送 |