1. 设备搜索,去获取webserver 的地址 ,目的是在获取能力提供服务地址,demo:https://www.cnblogs.com/croxd/p/10683429.html 2. GetCapabilities获取能力,目的是在GetProfiles时提供媒体地址,demo:https://www.cnblogs.com/croxd/p/10683503.html, 如果GetCapabilities获取能力失败,soap error 4 或者 52的话,可以参考:https://ww…
GetServices:获取媒体地址(有些h265的摄像头必须用到这个接口,得到获取能力时没获取到的另一个媒体地址) 鉴权:但是在使用这个接口之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现鉴权的方式之一可以调用gSOAP源码中的 soap_wsse_add_UsernameTokenDigest()函数.要安装依赖库OpenSSL 实现代码: #include <stdio.h> #include <…
GetStreamUri:rtsp地址 鉴权:但是在使用这个接口之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现鉴权的方式之一可以调用gSOAP源码中的 soap_wsse_add_UsernameTokenDigest()函数.要安装依赖库OpenSSL 实现代码: #include <stdio.h> #include <stdlib.h> #include <string.h>…
GetProfiles:获取媒体信息文件 鉴权:但是在使用这个接口之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现鉴权的方式之一可以调用gSOAP源码中的 soap_wsse_add_UsernameTokenDigest()函数.要安装依赖库OpenSSL 实现代码: #include <stdio.h> #include <stdlib.h> #include <string.h>…
GetCapabilities:获取能力,主要目的获取设备能力信息(获取媒体服务地址) 鉴权:但是在调用获取设备能力之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现鉴权的方式之一可以调用gSOAP源码中的 soap_wsse_add_UsernameTokenDigest()函数.要安装依赖库OpenSSL 实现代码: #include <stdio.h> #include <stdlib.h>…
设备搜索:要访问一个IPC摄像头,或者说要调用IPC摄像头提供的WEB服务接口,就要先知道其IP地址,这就是设备发现的过程,或者叫设备搜索的过程.IPC摄像头用的是239.255.255.250(端口3702),所以设备搜索的原理是,只要在设备上服务器监听239.255.255.250的3702端口.ONVIF规范并没有自己定义服务设备发现框架,而是复用了已经很成熟的WS-Discovery标准,根据.wsdl的文件,用gsoap产生框架代码,调用其产生的函数接口去实现设备的搜索. 1.gsoa…
Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来给别人调用,所以先安装了librdkakfa,然后在demo上进行修改封装一个生产者接口. [一] 安装librdkafka 首先在github上下载librdkafka源码,解压后进行编译: cd librdkafka-master chmod 777 configure lds-gen.py .…
原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include<errno.h> #include<string.h> #include<sys/socket.h> #include<sys/types.h> #include <stdio.h> #include <unistd.h> #inclu…
Linux下用C获取当前时间,具体如下: 代码(可以把clock_gettime换成time(NULL)) ? 1 2 3 4 5 6 7 8 9 10 void getNowTime() {  timespec time;  clock_gettime(CLOCK_REALTIME, &time); //获取相对于1970到现在的秒数  tm nowTime;  localtime_r(&time.tv_sec, &nowtime);  char current[1024];  …
linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI 标准,以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息, 其输出的信息包括 BIOS.系统.主板.处理器.内存.缓存等等, 既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等.   1 2 3 4 aptitude i…
Linux下,如何监控某个进程到底向哪个地址发起了网络调用 有时候,有些应用,比如idea,你发起某个操作时,其底层会去请求网络,获取一些数据. 但是不知道,请求了什么地址.举个例子,在idea中,maven管理的java工程,你在reimport的时候,肯定会去下载依赖,但是,有时候感觉配置的私服没生效,好像,请求还是去maven中央仓库下载. 怎么确定是不是真的去了maven中央仓库下载呢?有证据吗? 此时有什么好办法呢?如果不用点什么工具,还真没什么好办法. 再比如,我这里有一个linux…
在用linux下百度云盘工具(bcloud),登录时,报获取bdstoken失败. 在网上搜了一下,解决办法如下. 找到auth.py文件 locate auth.py |grep bcloud 结果应该是: /usr/lib/python3/dist-packages/bcloud/auth.py 修改这个文件 sudo vi /usr/lib/python3/dist-packages/bcloud/auth.py 修改内容部分 bds_re = re.compile('BDSTOKEN\s…
CPU使用率: InputStream is = null; InputStreamReader isr = null; BufferedReader brStat = null; StringTokenizer tokenStat = null; // 用来分隔String的应用类 try { System.out.println("Get usage rate of CUP : "); Process process = Runtime.getRuntime().exec(&quo…
MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15},这在关系型数据库中是无法实现的.对于MongoDB,其中:collections即集合相当于关系型数据库的表,document文档相当于关系型数据库中的行.因此也就是说,MongoDB中的表中存储的数据可以不规定类型等.下面看一下MongoDB自带shell客户端的一些基本操作. 先来看一下,如何…
request.getRealPath("/") 在window获取的是服务器的根目录,结尾包含分隔符, 如E:\apache-tomcat-6.0.29-bak\apache-tomcat-6.0.29\apache-tomcat-6.0.29\webapps\test\ 在Linux下获取的不含分隔符,如: /home/weblogic/Desktop/PTYT/ptytNetpay/WebRoot 因此需要判断处理: String root = request.getRealPa…
原地址:http://rtxbc.iteye.com/blog/860092 今天有现场程序连svn服务器一直有异常,于是在现场linux下安装svn client来直接测试,看问题原因: 一:安装svn client步骤如下: wget http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz wget http://subversion.tigris.org/downloads/subversion-1.6.15…
原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系统中可以用top命令查看进程使用CPU和内存情况,通过Runtime类的exec()方法执行命令"top",获取"top"的输出,从而得到CPU和内存的使用情况. 使用top命令获取系统信息: top -b -n -1 | sed -n '3p'(使用sed命令将top输出内容中的第三行打印出来) %Cpu(s):  6.5 us,  2…
转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:CentOS 6.5,内核(uname -r):2.6.32-431.el6.x86_64 安装命令: yum install -y subversion SVN客户端命令: 查看svn命令帮助: svn help 查看子命令帮助: svn checkout --help checkout (co):…
svn客户端报错Cannot negotiate authentication mechanism的解决方法: 问题出现的原因之一: 因为SVN服务器配置了saslauthd服务用来实现与ldap的对接,因此认证的机制发生了变化,所以客户端需要安装组件才可以: 很简单对于RHEL/CentOS,客户端只需要yum安装相应的包即可: yum -y install cyrus-sasl-plain ubuntu系统尚未测试,请查找对应的包安装即可 问题出现的原因之二:可能与svn的版本或源码安装时选…
#include <time.h> int clock_gettime(clockid_t clk_id, struct timespec* tp); clock_gettime() 函数是基于linux 操作系统的. 可以根据需要,获取不同要求的精确时间,通过第一个参数. 参数 clk_id : 检索和设置的clk_id指定的时钟时间.CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户改成其他,则对…
psutil - A cross-platform process and system utilities module for Python 1. 安装 pip 安装即可. windows 下需要安装 vs2008,否则报错: Unable to find vcvarsall.bat 如果已经安装 vs2010 / vs2012 则需要设置环境变量,VS90COMNTOOLS 指向已有的 vs 变量. vs2010 设置如下: VS90COMNTOOLS = %VS100COMNTOOLS%…
#include <vector> #include "sys/config.h" SYS_NAMESPACE_BEGIN /*** * 用来获取系统.内核和进程的各类实时信息,如CPU和内存数据 */ class CInfo { public: /*** * 系统当前实时信息 */ typedef struct { long uptime_second; /* Seconds since boot */ unsigned long average_load[3]; /*…
一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1/187a3087a49b71b42ba4d4a300b6278746011506/gz/subversion-1.6.1.tar.gz 2.   下载subversion依赖文件 subversion-deps-1.6.1.tar.gz http://d136.d.iask.com/fs/800/…
远程获取windows和linux操作系统版本和主机名需要具备以下条件: 假设 主机A(windows 7),ip:192.168.12.2 主机B(centos 6.3),ip:192.168.12.3 主机C(windows 2008)-为远程要获取信息的主机,ip:192.168.12.4 主机D(centos 6.3)-为远程要获取信息的主机,ip:192.168.12.5 windows: 1.主机A可以ping通主机C: 2.主机B可以ping通主机C: 3.主机B可以通过161端口…
stat函数讲解 表头文件:    #include <sys/stat.h>              #include <unistd.h> 定义函数:    int stat(const char *file_name, struct stat *buf); 函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中 返回值:      执行成功则返回0,失败返回-1,错误代码存于errno 错误代码:     ENOENT        …
perl处理文件的时候最好添加上 处理的时间戳,获取系统的时间又多种方法,但是反引号是最原始的,不需要其他外界条件和lib的支持. my $now = `date "+%F %T" print FH $now; 结果为:2014-04-13 21:58:21 #my $time_string = `date "+YYYYmmddHHMM"`; my $time_string = `date "+%Y_%m_%d_%H%M"`; print $ti…
首先,可以将代码复制下来放到U盘里,然后挂载到Linux上 挂载步骤 找到设备->USB->你U盘的名字 挂载成功 访问U盘把代码拷贝到home文件夹下,就可以直接进行编译. client.c #include <stdio.h> #include <unistd.h> #include <strings.h> #include<string.h> #include <sys/types.h> #include <sys/soc…
输入 yes 开始 checkout服务器上的文件到本地目录 2.将文件 添加文件到某个目录下(是svn的服务器checkout下来的目录中) 3. 提交到服务器 4 .即可在服务器目录看到(windows 上也是checkout下来的,就等于在服务器上) 5 以后的变更方式就是 在本地修改文件 比如修改 my.cnf 提交,然后在 linux 服务器直接 svn update 下来即可 然后 进行 svn commit 6 .通过cat查看没有查看到 进行svn update 然后可以看到下图…
#include <time.h> int clock_gettime(clockid_t clk_id, struct timespec* tp); 可以根据需要,获取不同要求的精确时间 参数 clk_id : 检索和设置的clk_id指定的时钟时间.CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户改成其他,则对应的时间相应改变 CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统…
可能有多个网卡包括虚拟网卡,需要进行排除 String ip = ""; try { Enumeration<?> e1 = NetworkInterface.getNetworkInterfaces();//获取多个网卡 while (e1.hasMoreElements()) { NetworkInterface ni = (NetworkInterface) e1.nextElement(); if(("eth0").equals(ni.getNa…