https://github.com/xsmart/onvifcpplib

该库支持ProfileS 和ProfileG,目前正在开发哪些,现拥有支持Event

下面是一个client样本

int _tmain(int argc, _TCHAR* argv[])
{int ret;/* 192.168.1.1 is the NVT, 192.168.1.234 is the NVC */string url = "http://192.168.1.1/onvif/device_service";/* Below is where to receive the event */string eventNotify = "http://192.168.1.234:9090/subscription-2";string user = "admin";string pass =  "admin";OnvifClientDevice onvifDevice(url, user, pass);_tds__GetCapabilitiesResponse capabilitiesResponse;onvifDevice.GetCapabilities();OnvifClientMedia media(onvifDevice);_trt__GetProfilesResponse profiles;media.GetProfiles(profiles);OnvifClientEvent onvifEvent(onvifDevice);onvifEvent.Subscribe(eventNotify);OnvifClientEventNotify notify(soap_new());if ((ret = soap_bind(&notify, NULL, 9090, 100) == SOAP_INVALID_SOCKET ) ) {printf("OnvifClientEventNotify::soap_bind Binding on %d port failed", 9090);return 0;}//Loop to recevie the eventwhile(1){if( (ret = soap_accept(&notify)) == SOAP_INVALID_SOCKET) {printf("soap_accept accepting failed");return 0;}if ( (soap_begin_serve(&notify)) != SOAP_OK) {printf("soap_begin_serve serve %d failed", ret);continue;}ret = notify.dispatch();continue;}return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/mfrbuaa/p/4711979.html

基于Gsoap 的ONVIF C++ 库相关推荐

  1. gSOAP生成ONVIF框架代码

    gSOAP生成ONVIF框架代码 一次性把所有可能会用到的WSDL文档都纳入编译,以便得到一份尽可能齐全的ONVIF接口代码.我这样做是为了省事,但我希望你在心底里能明白一件事情:ONVIF有好多个模 ...

  2. 一、ONVIF协议:使用gSOAP生成ONVIF框架代码

    1 前言   特别感谢@许振坪大佬的文章,使得我能在很短的时间内,通过ONVIF协议获得设备信息.   因为时间的原因,我项目完结之后,再补充相关基础知识,本文章主要记录框架代码生成步骤和遇见的问题. ...

  3. Linux gsoap生成onvif框架(C语言客户端代码)一

    创作人QQ:851301776,邮箱:lfr890207@163.com,欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发. ...

  4. ONVIF协议网络摄像机(IPC)客户端程序开发使用gSOAP生成ONVIF框架代码(C++)03-->Windows

    其它的不多说,直接开始步骤. 我的版本是2.8.109,目前最新版本. 实际上,onvif的源码是兼容Linux.Windows版本的,例如如果你已经在这篇文章ONVIF协议网络摄像机(IPC)客户端 ...

  5. 基于C++模板的线性代数库---Eigen

    Eigen 是一个基于C++模板的线性代数库,直接将库下载后放在项目目录下,然后包含头文件就能使用,非常方便.此外,Eigen的接口清晰,稳定高效. 在解决方案"属性"中的&quo ...

  6. Chemical Science | 基于金属的片段分子库用于筛选候选药物

    研究人员开发了一种新颖的基于金属的分子片段库,可用于筛选新药候选物. 已经开发了新的药物化合物库,其中包括基于金属的三维(3D)片段:研究人员说,这是大多数仅包含一维和二维形状的库的进步. 美国加利福 ...

  7. RDKit | 基于Murcko骨架聚类化合物库

    化合物多样性评估 一种方法是使用合适的指纹技术将化合物矢量化并评估他们之间的距离.这种方法经常被使用,但是对于人类很难直观地理解化合物之间的距离. 基于Murcko骨架,分子大致聚集在化合物骨架中,并 ...

  8. 【客户下单】基于CRM完全匹配地址库实现自动分单

    [客户下单]基于CRM完全匹配地址库实现自动分单 将寄件人的下单地址,以webservice的方式,发送给CRM地址库,获取到对应的客户关联的定区,匹配与定区关联的快递员,实现自动分单. 在crm_m ...

  9. Ember Charts – 基于 Ember D3 的图表库

    Ember Charts 是一个基于 Ember.js 和 D3.js 的图表库.它包括时间序列.柱状图.饼图.点图,很容易扩展和修改.这些图表组件代表图表交互性和演示的最佳实践,是高度可定制和可扩展 ...

最新文章

  1. 现存最古老计算机手册重见天日,比ENIAC要先进!
  2. 转结构体_golang处理gb2312转utf8编码的问题
  3. Java EE CDI限定词:快速浏览
  4. Webrtc服务器搭建转
  5. 单片机原理及应用pdf_单片机原理及应用课程设计
  6. Visual Studio 2008 每日提示(六)
  7. 【面试题总结】1、统计字符串中某个单词出现的次数(1-C++实现)
  8. 中国农业银行K宝证书怎么在中国农业银行APP上下载更新K宝证书?
  9. python小学生入门教程-python 小学生教程|怎么让一个小学生学会Python?
  10. 分支定界法解TSP问题(one-tree算法定界)附java代码
  11. pythonflag=false_python学习:跳出while循环的用法 exit_flag = False while not exit_flag:
  12. 【Java】有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
  13. 利用adb卸载手机预装软件(系统软件)
  14. 汇编程序设计与计算机体系结构软件工程师教程笔记:总结
  15. python绘制穿山甲字符画视频:这喝汤多是一件美逝
  16. 一键全自动Typora备份印象笔记的工具
  17. C#获取汉子对应的拼音(首字母大写或小写,全拼音含首个字母大写)
  18. 用Java实现递归与分治系列(二)
  19. gensimAPI学习——word2vec
  20. 【日常实用】git的简单使用

热门文章

  1. 计算机网络学习笔记(22. Web应用概述)
  2. 力扣 独一无二的出现次数
  3. 花呗借呗还不上会打通讯录电话号码吗?
  4. 离职证明(解除劳动合同书)是否会毁你一生?
  5. 营业执照吊销后,股权何去何从?
  6. 好的文案,极大的降低沟通成本
  7. 实体和电商哪个更能赚到?
  8. 怎么把GMS的软件转到HMS?
  9. tfs 文件系统部署_使用SQL Server数据工具和使用自定义工作流文件的TFS部署到多个数据库
  10. azure_面向初学者的Azure Data Explorer