当前位置: 首页 > wzjs >正文

电影网站模板百度推广代理商赚钱吗

电影网站模板,百度推广代理商赚钱吗,深圳本地做网站,河北省政府网站集约化建设之前项目中使用到libiec61850库,都是服务端开发。这次新的需求要接收服务端的遥测数据,这就涉及到客户端开发了。 客户端开发没搞过啊,挑战不少,但是人不就是通过战胜困难才成长的嘛。通过查看libiec61850的客户端API发现&#xf…
之前项目中使用到libiec61850库,都是服务端开发。这次新的需求要接收服务端的遥测数据,这就涉及到客户端开发了。 客户端开发没搞过啊,挑战不少,但是人不就是通过战胜困难才成长的嘛。

通过查看libiec61850的客户端API发现,它支持两种模式,一种同步阻塞模式,另一种是异步回调模式。由于我没有打算采用多线程,那就选异步回调模式吧。

首先 ,创建链接,并connect,安装链接回调函数。

    IedClientError error;IedConnection con = IedConnection_create();IedConnection_installStateChangedHandler(con, connectionCB, this);IedConnection_connectAsync(con, &error, ip.c_str(), port);

接着,在链接回调函数中,判断如果连接成功的话,就获取rcb属性。因为客户端一个很重要的功能就是接收服务端的rcb(报告控制块),然后从rcb中解析出服务端更新了哪个字段。

IedClientError error;IedConnection_getServerDirectoryAsync(connection, &error, NULL, NULL, getServerDirectoryHandler, connection);std::string rcbRef = g_pMmsMgr->getLdName(connection) + "/LLN0.RP.urcbMeasure01";IedConnection_getRCBValuesAsync(connection, &error, rcbRef.c_str(), NULL, getRCBValuesCB, connection);

getServerDirectoryHandler这个回调函数,实现的是获取逻辑设备名称,这个在注册获取rcb属性回调函数时会用到。

void CMMSManager::getRCBValuesCB(uint32_t invokeId, void* parameter, IedClientError err, ClientReportControlBlock rcb)
{if (err == IED_ERROR_OK){IedConnection connection = (IedConnection)parameter;ClientReportControlBlock_setResv(rcb, true);ClientReportControlBlock_setTrgOps(rcb, TRG_OPT_QUALITY_CHANGED | TRG_OPT_DATA_CHANGED | TRG_OPT_GI);std::string dataSetRef = g_pMmsMgr->getLdName(connection) + "/LLN0$dsMeasure";ClientReportControlBlock_setDataSetReference(rcb, dataSetRef.c_str());ClientReportControlBlock_setRptEna(rcb, true);std::string rcbRef = g_pMmsMgr->getLdName(connection) + "/LLN0.RP.urcbMeasure01";IedConnection_installReportHandler(connection, rcbRef.c_str(),ClientReportControlBlock_getRptId(rcb), reportCB, parameter);/* Write RCB parameters and enable report */IedConnection_setRCBValuesAsync(connection, &err, rcb, RCB_ELEMENT_RESV | RCB_ELEMENT_DATSET | RCB_ELEMENT_TRG_OPS| RCB_ELEMENT_RPT_ENA | RCB_ELEMENT_GI, true, genericServiceCB, parameter);}
}

最开始时,我的客户端无论如何都收不到服务断的报告控制块,就是这个getRCBValuesCB回调函数里的逻辑没写对。

碰到困难时,一定不要怕,多看libiec61850中关于client的例子,再加上不断尝试,这样基本的功能框架就实现了。

http://www.dtcms.com/wzjs/94282.html

相关文章:

  • 成品短视频app下载有哪些软件苹果seo系统
  • 淘宝客免费建网站html制作网站
  • 一个网站的建设需要哪些流程百度学术搜索
  • 东莞网站建设最优如何提高自己的营销能力
  • 广州软件开发软件公司优化大师怎么卸载
  • 网站建设防火墙级别要求百度搜索引擎api
  • 门头沟建设网站seo优化技术排名
  • 北京企业制作网站推广优化方案
  • 网站软件下载安装免费版南京网站设计
  • 用html做网站步骤百度大数据查询平台
  • 俄语网站里做外贸shop朝阳区seo搜索引擎优化怎么样
  • 教师网站建设企业实践总结网站优化有哪些技巧
  • 焦作 做 网站广东seo推广外包
  • 微信网站建设定制数据网站有哪些
  • 怎么做网站代码网络营销是什么专业
  • wordpress外贸询盘插件如何优化关键词搜索
  • 客户关系管理系统的功能厦门seo排名
  • 永久免费网站建设系统怎样搭建一个网站
  • 做ui的网站有哪些营销策划公司经营范围
  • 科技网站建设百度官网下载电脑版
  • 英文网站做翻译接单免费的关键词优化工具
  • 邯郸网站制作厂家奉化首页的关键词优化
  • 企业信息公开网官网搜索引擎的优化方法有哪些
  • 网站负责人信息表seo培训学院官网
  • 仿淘宝网站模板网站自然排名怎么优化
  • 网站空间去哪买线上培训机构排名前十
  • 足球网站怎么做免费职业技能培训网站
  • 2018年网站开发语言排行最常用的几个关键词
  • 惠州论坛网站建设企业网络组建方案
  • 免费网站开发模板网站前期推广