当前位置: 首页 > 软件库 > 程序开发 > 协议和规范 >

tiandy_onvif_http_C++

onvif 接口 http 协议 C++ 版本
授权协议 MIT
开发语言 C/C++
所属分类 程序开发、 协议和规范
软件类型 开源软件
地区 国产
投 递 者 景宏盛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

视频摄像头在物联网开发中越来越重要,Linux和window平台下可通过厂家提供的SDK对接摄像头二开。

但是在嵌入式Arm版上厂家并没有提供sdk,定制的sdk也不稳定,我们可以通过onvif协议与摄像头对接,

比如天地伟业摄像头,onvif协议客户端内部通过gsoap利用wsdl文件生成对应的接口。

但是此种方式存在以下缺点:

1、gsoap生成接口文件步骤繁琐,且涉及到修改文件

2、wsdl生成出来的接口是全量接口,不能单独针对特定接口生成,单接口文件就二三十万行,编译成文件空间占用大

3、再次开发文档少,接口使用不方便,没有明确的demo

本人在实际开发中也越到以上问题,通过实践探索,本人利用http协议与摄像头进行xml报文请求这种思路解决了以上难题:

onvif_htt p有以下优点:

1、易于再次开发

2、http协议直接与摄像头交互

3、接口简单易用,轻量级,最终文件占用空间小

此版本为 C++版本,C语言版本移步 : https://www.oschina.net/p/tiandy_onvif_http

 相关资料
  • HTTP的特性 HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文 请求报文 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: <method> <request-URL> <version> <headers> <entity-body>

  • 我正在向我使用httplib2拥有的REST服务发出HTTPS GET请求,但我们得到了错误: 所有其他客户端都运行良好(浏览器、Java客户端等...),只有一个小例外,PHP curl需要设置为使用SSL v3。 我已经搜索了周围,它似乎确实是一个关于SSL版本的错误,但我似乎找不到一种方法来改变它在http://www. ttplib2.除了改变源代码中的以下行之外,还有什么方法可以解决这个

  • 一面中,如果有笔试,考HTTP协议的可能性较大。 前言 一面要讲的内容: HTTP协议的主要特点 HTTP报文的组成部分 HTTP方法 get 和 post的区别 HTTP状态码 什么是持久连接 什么是管线化 二面要讲的内容; 缓存 CSRF攻击 HTTP协议的主要特点 简单快速 灵活 无连接 无状态 通常我们要答出以上四个内容。如果实在记不住,一定要记得后面的两个:无连接、无状态。 我们分别来解

  • 提示 视频 PPT 下载 背景介绍 HTTP 协议是互联网上应用最为广泛的一种网络协议,越来越多的应用程序需要直接通过 HTTP 协议来访问网络资源。webclient 是 RT-Thread 上实现的一个 HTTP 客户端,用来提供高效且功能丰富的 HTTP 客户端编程工具包。 这个教程展示了如何利用 HTTP 协议获取天气,我们是使用 webclient 这个工具包实现的。 准备工作 开启 W

  • 我在我的应用程序中使用和。我想将控制器协议从版本切换到。首先,我已经为此编写了下一个集成测试: 但是方法不存在,而且我找不到任何其他测试协议版本的方法。有人知道如何在spring boot应用程序中正确测试协议版本吗?

  • 问题内容: 我知道Java,现在正在学习Objective-C。Java接口和Objective-C协议之间到底有什么区别? 问题答案: 首先,从Java的一位创建者那里对该主题进行了一些历史性的展望。接下来,维基百科在Objective- C协议中 提供了适度有用的部分。特别要了解的是,Objective- C支持 正式协议 (使用关键字明确声明,相当于Java接口)和 非正式协议 (仅一个或多

  • 问题内容: 我们是否有理由在链接属性中包含/ 协议? 最好不做任何处理: 问题答案: 包含“ http:”或“ https:”部分只是一个传统问题,一部分是实际指定协议的问题。如果默认,则使用当前页面的协议。例如,///根据引用页面的URL变为http://www.example.com或https://www.example.com。如果网页保存在本地磁盘上然后从那里打开,则该网页没有协议(只是

  • 主要内容:1. HTTP协议,2. 基本功能,3. 架构,4. Http协议详细信息理解协议对于掌握安全测试非常重要。当我们拦截网络服务器和客户端之间的数据包数据时,您将能够理解协议的重要性。 1. HTTP协议 超文本传输协议(HTTP)是用于分布式协作超媒体信息系统的应用程序级协议。它是自1990年以来万维网数据通信的基础。HTTP是一种通用的无状态协议,可以用于其他目的,也可以使用其请求方法,错误代码和标头的扩展。 基本上,HTTP是基于TCP/IP的通信协议,用于通过We