- 博客(78)
- 收藏
- 关注
原创 onvif 开发文档【2】
二: onvif 开发环境的搭建 下边这张图来自于网上,对我们熟悉onvif开发描述的十分清晰,我就是顺着这个思路走下去的。从上边的介绍中,我们基本知道onvif是个什么协议,其中十分关键一点是这种协议的展现形式是webservice。让我们通过下图对webservice的调用过程有一个初步的了解。 对基于webservice格式存在接口,我们第一步要
2014-06-15 14:46:47
3267
原创 onvif 开发文档【1】
一: onvif 介绍:Onvif是一套协议,或者简单说是一个标准,接触一个新的协议或者标准,第一步我想首先是要弄清这个协议是做什么?我也是带着这个疑问,开始了对onvif的研究和探索。下边的资料是我从百度上搜索到的,和我自己的学习步骤也是一样,先搜索点东西读一读,对onvif有一个表层的认识。1:为什么会有onvif?ONVIF致力于通过全球性的开放接口标准来推进网络视频在安防市场的
2014-06-15 14:43:26
3243
原创 求一个字串中最长的连续字符串
举例子来说:对于字符串“1234abcdef1234567abcdefghijklmn",这个字串中最长的连续字符串为“abcdefghijklmn”。int continumax(char *outputstr,char *inputstr){ char maxrecord[100] = {0}; int maxlength = 0; char currentrecord[100]
2014-06-15 14:37:16
2114
原创 如何根据Sip协议的SDP和onvif摄像头进行视频媒体能力的协商 (1)
最近一段时间在从事onvif/rtsp转sip协议的研发工作,那到底为什么要在这两种协议之间进行相互转换呢?因为我公司的软交换系统目前仅仅支持sip协议,而大部分的网络摄像头仅仅支持onvif/rtsp协议,所以公司的软交换系统不支持onvif摄像头的接入,为了扩展公司的软交换系统支持更多的视频接入协议,所以公司决定通过增加视频网关的方式来完成onvif/rtsp协议和sip协议的转换,使公司的软
2014-05-19 15:39:43
5710
原创 单件 singleton 唯一的对象实例
// example13.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"#include "windows.h"/* 我们的应用程序往往有许多配置项,而应用的配置项往往在每个类中都要用到, 所以把配置数量规
2014-03-20 17:22:04
1097
原创 工厂方法 Factory Method 建立对象的实例交给子类
// example12.cpp : Defines the entry point for the console application.//#include "stdafx.h"/*如果你的应用要动态生成的对象种类繁杂,那还是把他管理起来吧。让专门的工厂来实现这个需求吧,调用只需要告诉工程你要什么,具体如何生成,让别人去做。*///抽象定义一个产品,并让这个产品有表现自
2014-03-20 12:40:27
1201
原创 模板方法 Templete Method 实际的处理交给子类,让别人去干吧。
// example11.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"//总而言之,要抽象,初期不要太多的关注细节,否则你就会陷入泥潭,//在做设计的时候,就想着实现不归你来负责,那是别人的事情,能多抽象就多抽象,
2014-03-20 11:24:03
1124
原创 适配器模式,换个包装再度利用 Adapter
// example10.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"//假设现在已经有一个类,已经实现了一些功能,并且该类经过测试已经十分稳定。//计算阶乘 n!class Factorial{pub
2014-03-20 10:38:52
984
原创 设计模式的迭代器模式 Iterator
// example9.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "string.h"//定义一个学生类class CStudent{public: CStudent() { m_number = 0; m
2014-03-18 12:23:22
1048
原创 上海华为的一道面试题目
上海华为的一道关于指针方面的编程题:int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路)int Func(int* a, int nSize)
2014-03-05 10:26:34
1305
原创 list 中删除满足某个条件的所有记录
#include "stdafx.h"#include "Singlelist.h"#include using namespace std;typedef list LIST;typedef LIST::iterator ITERATOR;int _tmain(int argc, _TCHAR* argv[]){ LIST mylist; for(int i=0;
2014-03-05 09:39:56
1612
原创 冒泡排序 选择排序 插入排序
void swap(int &a, int &b){ int temp = a; a = b; b = temp;}//冒泡void sort0(int a[], int m){ for(int i=0; i<m-1; i++) { for(int j=0; j<m-i-1; j++) { if (a[j] < a[j+1]) { swap(a[
2014-03-04 14:12:46
868
原创 windows下实现socket 的 通讯的 select 模型
通讯端点定义类: #pragma once#include #define SERVER 1#define CLIENT 2#include using namespace std;class CEndpoint{public: CEndpoint(void); CEndpoint(SOCKET socket, unsigned
2013-12-31 18:09:36
1469
原创 以上两个文件的makefile
CC = g++CFLAGS = -Wallall: server clientclient: client.o $(CC) $(CFLAGS) -o $@ client.cpp -L/usr/lib64 -lsctpserver: server.o $(CC) $(CFLAGS) -o $@ server.cpp -L/usr/lib64 -lsctpclean
2013-09-03 11:01:06
1305
原创 SCTP一对一模式(TCP)模式的客户端代码
#include #include #include #include #include #include #include #include #include const int buf_size = 1024; const int echo_port = 19000; char *usage_msg = "usage
2013-09-03 10:56:04
1971
原创 SCTP 一对一模式(TCP)的服务器端代码
以下代码为基于sctp协议的一对一模式(TCP)的服务器端代码。#include #include #include #include #include #include #include #include #include const int buf_size = 1024; const int echo_port = 19000; char* usa
2013-09-03 10:54:19
2347
原创 SCTP 一对多模式 (UDP模式)的服务器端代码
以下源码是基于linux操作系统的。实现了基于SCTP模式的一对多模式的服务器端代码,不但处理的用户数据,而且处理了的通知类的消息,即notification消息。#include #include #include #include #include #include #include #include #include static void handle_e
2013-09-02 16:28:57
2589
原创 SCTP 协议的一些API说明
setsockopt(设置socket状态) 相关函数 getsockopt表头文件 #include#include定义函数 int setsockopt(int s,int level,int optname,const void * optval,,socklen_toptlen);
2013-08-28 10:43:11
4220
原创 利用Java NIO 实现client端,支持自动重连
Java NIO 实现client端,相比较于Server端的实现,相对简单,如果要支持自动重新连接功能,就需要有线程同步的概念。以下代码实现了自动重新连接的功能,增加了一个具体的连接管理类Manager。package com.sof.nio;import java.io.IOException;import org.slf4j.Logger;import org.slf4j
2013-08-23 10:03:34
3052
原创 利用ACE 自己实现的线程池
1: 线程池组件的配置文件: [log];DEBUG = 0;INFO = 1;WARN = 2;FAULT = 3level=0;SCREENOUT = 0;FILEOUT = 1;BOTH = 2director = 2;TEST = 0;RUN = 1mode = 0;ONE = 0x00;FO
2013-08-19 15:17:15
1409
原创 JAVA 调用Axis2 code generator 生成的webservice
以下代码为调用 JAVA 调用Axis2 code generator 生成的webservice的代码。 package test;import java.rmi.RemoteException;import org.apache.axis2.AxisFault;import soap.*;import type.*;public class soap{ public sta
2013-08-19 15:09:06
1733
原创 Java NIO 实现进程通讯,解决用户自定义数据的组包和拆分粘包的问题
TCP通讯过程中,由于网络原因或者其他原因,经常出现粘包和半包现象。所以在具体编程中需要考虑。下边的 java 代码是用 NIO 实现的一个Server端,消息的通讯格式为:4字节int类型 [包头] + 包体.包头描述出包体的长度。package com.sof.nio;import java.io.IOException;import java.net.I
2013-08-08 17:04:04
4388
3
原创 英语学习(2)
Whenwe buy an interest in a business, what exactly do we call the documents we buy?Whenwe buy an interest in a business, we call the documents exactly we buy shares. Isit in your own interest to
2013-08-07 16:08:15
1091
原创 对称加密
对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开.缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身认证等功能,不便于应用在网络开放的环境中。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。目前最著名的对称加密算法有数据加密标准DES,但传统的DE
2013-08-06 10:44:55
1153
原创 不可逆加密算法
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。 不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统
2013-08-06 10:32:18
2317
原创 英语学习(1)
Whatpart of the table is this?The part of the tableis edge. Can we balance adinner-plate on its edge?Perhaps, we can balancea dinner-plate on its edge, but it would be rather difficult and wou
2013-07-29 14:56:24
1376
原创 Jdk 、tomcat 的配置
第一步:下载j2sdk和tomcat:到sun官方站点(http://java.sun.com/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.4.2 Documentation,然后到tomcat官方站点(http://www.apache.org/dist/jakarta
2013-07-27 15:24:31
926
原创 完全二叉树,知道总节点数,计算叶子结点的数量
昨天面试,有一道题是:完全二叉树,知道总节点数,计算叶子结点的数量。由于当时要求在纸上写代码,没有实际运行,所以回来后他这个代码调试一下.// Challenge8.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "math.h"//问
2013-07-26 10:13:15
7343
原创 斐波那契数列
今天,去深圳一家公司参加面试,其中一道编程题目就是关于斐波那契数列的问题,回来后赶快把它实现。算是积累经验吧。当时使用递归方式实现的,回来后用非递归的方式也实现了一下。 // Challenge7.cpp : Defines the entry point for the console application.//#include "stdafx.h"//今天面试的一
2013-07-25 16:30:01
1095
原创 Java 的 vector 中非基本类型的删除
刚刚开始学习java, 路上的拦路虎还真不少。在Java的vector中存储了一种用户自定义的数据类型,非基本数据类型,如何要删除,如何删除呢?这其中就牵扯到对象比较的问题。理解这个问题,其实用C++的指针来理解可能更好理解一些。另外要重载用户自定义类型的 boolean equals(Object obj)这个方法,才能正确应用vector中相关和对象比较的方法。 package
2013-07-23 11:01:19
1826
原创 找出两个数组中满足给定和的数对
/*******************************************************************************************************************************************3.找出两个数组中满足给定和的数对问题描述:有两个数组arr1和arr2,两个数组均已经排好序,现在要找出这样的
2013-07-19 16:44:02
1772
原创 找出数组中出现奇数次的元素
不知道什么时候能用到这个算法,权当练习,其实也是应用数学基础知识的算法。 /**********************************************************************************************************************2.找出数组中出现奇数次的元素问题描述:现在有一个整数数组arr,其中的
2013-07-19 16:05:37
2553
原创 当数组中整形数连续时,求数组中唯一重复的整数
在现实生活中,我估计这个问题没有多大的意义, 但作为你一种方法,可以借鉴,也可以得出一个结论,那就是尽量把数学知识应用于编程之中,算法会完美。/**************************************************************************************************************************
2013-07-19 15:47:25
1306
原创 使用ACE获取主机的IP地址
使用ACE获取主机的IP地址,不知道为什么会有127.0.0.1? #include "stdafx.h"#include "ace\OS.h"#include "ace\SOCK_Connector.h"//用ACE获取本机IP addressint _tmain(int argc, _TCHAR* argv[]){ WSADATA wsaData; if (WSAS
2013-07-18 12:49:18
2375
原创 ACE 容器之五 ACE_Bounded_Set 和 ACE_Unbounded_Set 的使用
这两个类是ACE提供的集合容器类。集合容器类也分为有边界和无边界之分。// ACEset.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/Log_Msg.h"#include "ace/Cont
2013-07-17 14:55:44
1611
原创 ACE 容器之四 ACE_Bounded_Stack ,ACE_Fixed_Stack,ACE_Unbounded_Stack的使用
ACE提供几个栈容器的使用。有边界限定的,有边界不限定,选择一个合适的自己用用。// ACEstack.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/Log_Msg.h"#include "a
2013-07-17 10:59:55
1149
原创 ACE 容器之三 ACE_Unbounded_Queue的使用
以下代码演示了如何在ACE_Unbounded_Queue这个队列容器中存储具体的数据元素和数据元素的指针。 // ACEqueue.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "ace/OS_Memory.h"#include "ace/
2013-07-17 10:14:52
1980
原创 编程挑战(8)
在直方图中,一个长方形由其左边界和右边界决定,其最大可能的高度由两者中的最小者决定。记 R(i,j) 为由第 i 个直方柱为左边界,第 j 个直方柱确定的面积最大的长方形。如果 R(i,j) 的面积最大,那么,第 i 个直方柱比它的前一个直方柱(如果存在的话),即第 i-1 个直方柱要高,而 第 j 个直方柱的高度也比第 j+1 个的要高,否则,由 R(i,j+1) 或 R(i-1,j)
2013-07-16 17:48:08
1162
原创 ACE 容器之二 ACE_DLList 的使用
下边的代码演示了如何使用ACE容器 ACE_DLLList 的使用方法,从名字上看,就可以知道这是一个动态的List,所以在使用的过程中和 STL 提供的 list 还是有很大的不同的。 // ACElist.cpp : Defines the entry point for the console application.//#include "stdafx.h"#inc
2013-07-16 10:25:00
1516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人