自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(74)
  • 资源 (5)
  • 收藏
  • 关注

原创 苹果推送测试程序

#include  #include  #include  #include  #include  #include  #include  #include  #include    #include  #include  #include    #include  #include  #include  

2014-12-29 14:34:11 769

转载 使用 OpenSSL API 建立安全连接 - 双向认证

一、概念:1.什么是 SSL?  SSL 是一个缩写,全称是 Secure Sockets Layer。  它是支持在 Internet 上进行安全通信的标准,并且将数据密码术集成到了协议之中。  数据在离开您的计算机之前就已经被加密,然后只有到达它预定的目标后才被解密。  证书和密码学算法支持了这一切的运转,使用 OpenSSL,您将有机会切身体会它们。 

2014-12-05 10:58:49 686

原创 Android、iOS和Windows Phone中的推送技术

推送并不是什么新技术,这种技术在互联网时代就已经很流行了。只是随着进入移动互联网时代,推送技术显得更加重要。因为在智能手机中,推送从某种程度上,可以取代使用多年的短信,而且与短信相比,还可以向用户展示更多的信息(如图像、表格、声音等)。推送技术的实现通常会使用服务端向客户端推送消息的方式。也就是说客户端通过用户名、Key等ID注册到服务端后,在服务端就可以将消息向所有活动的客户端发送。实际

2014-12-01 10:26:55 333

转载 CString和CStringA之间的转换

使用UNICODE字符集编程时,总是需要使用那些不支持UNICODE的库,例如sqlite3,Lua等必须使用char*类型的。这个时候用CStringA是最好的。另外CStringA与CString可以灵活地随意转换赋值,注意不能这样用:CString str1;CStringA str2=str1;而要这样用:CStringA str2;str2=str1;

2014-11-18 10:26:57 918

原创 CString 函数大全

CString的构造函数                      CString( );例:CString csStr;CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456");    CString csStr2(csStr);CString( TCHAR ch, int nRep

2014-08-15 11:21:00 819

原创 Linux 如何使用gdb 查看core堆栈信息

core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename core  filename就是产生core文件的可执行文件,core就是产生的dump文件查看栈信息—————当程序被停住了,你需要做的第一件事就是查看

2014-08-07 10:14:34 12449 1

转载 OpenSSL 常用函数——SSL/TLS编程

SSL/TLS协议已经广泛应用于电子商务中, 用来保证信息传输的安全性。利用OpenSSL进行了安全套接字编程和普通套接字编程类似。主要函数1、  初始化SSL算法库函数Int SSL_Library_init(void);#define OpenSSL_add_ssl_algorithms()            SSL_Library_init()#define SS

2014-08-06 10:17:59 1276

转载 Linux ulimit 配置

ulimit用于shell启动进程所占用的资源.2,类别:shell内建命令3,语法格式:ulimit [-acdfHlmnpsStvw] [size]4,参数介绍:-H 设置硬件资源限制.-S 设置软件资源限制.-a 显示当前所有的资源限制.-c size:设置core文件的最大值.单位:blocks-d size:设置数据段的最大值.单位:kbytes

2014-07-17 16:53:33 387

转载 proto buffer使用

要使用google proto buffer,首先要进行的就是安装,先说说我的(mac os X 10.7.2)安装过程吧:  1、下载google proto buff。  2、解压下载的包,并且阅读README.txt,根据里面的指引进行安装。  3、 $ ./configure    $ make    $ make check    $ ma

2014-07-08 16:18:23 376

转载 Redis应用

Redis介绍      数据库主要类型有对象数据库,关系数据库,键值数据库等等,对象数据库太超前了,现阶段不提也罢;关系数据库就是平常说的MySQL,PostgreSQL这些熟的不能再熟的东西,至于键值数据库则是本文要着重说的,其代表主要有MemcacheDB,Tokyo Cabinet等等。      Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又

2014-06-30 15:16:28 298

原创 总结libevent安装方法

1.先用:ls -al /usr/lib | grep libevent  查看是否已安装,如果已安装且版本低于1.3,则先通过:rpm -e libevent —nodeps 进行卸载。 2.下载libevent安装包:libevent-1.4.13-stable.tar.gz,然后解压。 3.切换到解压后的 libevent 主目录:cd libevent-1.4.13-sta

2014-06-30 13:51:37 2461

转载 DES加密/解密算法C++

#ifndef   _DES_ENCRYPT_DECRYPT #define   _DES_ENCRYPT_DECRYPT  #define BYTE   unsigned char #define LPBYTE   BYTE* #define LPCBYTE   const BYTE* #define BOOL   int  class DES { pub

2014-06-09 16:54:03 3486

转载 使用gsoap进行soap开发

1从WSDL中产生头文件用法:wsdl2h -o 头文件名 WSDL文件名或URLwsdl2h常用选项-o 文件名,指定输出头文件-n 名空间前缀 代替默认的ns-c 产生纯C代码,否则是C++代码-s 不要使用STL代码-t 文件名,指定type map文件,默认为typemap.dat-e 禁止为enum成员加上名空间前缀type map文件用于指定

2014-06-04 15:18:40 372

转载 使用Visual C++开发SOAP客户端应用

简介 在本篇文章中,我们将讨论如何使用Visual C++开发一个简单的SOAP客户端应用程序,我们还将介绍SOAP API的使用。SOAP是互联网上一种非常流行的交换信息用的协议,由于是为了与HTTP、SMTP和其他的类似协议协同工作的,因此它十分简单。用它描述的信息能够被轻易地通过互联网发送到另外的计算机上,而无需担心遭到防火墙等网络安全技术的拦截。 在这里,我们假设读者已经对SOAP

2014-06-04 09:06:01 352

转载 使用Visual C++开发SOAP客户端应用

简介 在本篇文章中,我们将讨论如何使用Visual C++开发一个简单的SOAP客户端应用程序,我们还将介绍SOAP API的使用。SOAP是互联网上一种非常流行的交换信息用的协议,由于是为了与HTTP、SMTP和其他的类似协议协同工作的,因此它十分简单。用它描述的信息能够被轻易地通过互联网发送到另外的计算机上,而无需担心遭到防火墙等网络安全技术的拦截。 在这里,我们假设读者已经对SOAP

2014-06-04 09:04:57 185

转载 IOCP模型总结(转)

IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Windows内核花费大量的时间在进行线程的上下文切换,并没有多少时间花在线程运行上。再加上创建新线程的开销

2014-05-14 14:13:56 281

转载 C++ Lists(链表)

Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一个元

2014-04-29 17:01:33 270

转载 WINDOWS 剪切板操作

1. 基本API介绍在WINDOWS SDK 提供的几个剪切板操作函数:OpenClipboard 打开剪切板CloseClipboard 关闭剪切板EmptyClipboard 清空剪切板内容GetClipboardData 获取剪切板内容SetClipboardData 设置剪切板内容IsClipboardFormatAvailable 判断剪切板的内容是否为某种格

2014-04-21 10:23:49 875

转载 std::string用法总结

在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化string类的字符操作:const char &operator[](int

2014-04-21 10:21:48 300

转载 C++ vector用法的详解

vector容器模板类存放任何类型对象(必须同类对象)vector对象运行时高效地添加元素并且vector元素连续存储vector构造 函数原型:template explicit vector(); // 默认构造函数vector对象空 explicit vector(size_type n, const T&

2014-04-21 10:17:46 908

转载 VC++/MFC中如下内容的剪贴板操作

本文主要介绍了:  1、文本内容的操作  2、WMF数据的操作  3、位图的操作  4、设置使用自定义格式  5、感知剪贴板内容的改变  6、自动将数据粘贴到另一应用程序窗口  一、文本内容的操作  下面的代码示范了如何将文本内容复制到剪贴板(Unicode编码的先转化为ASCII):  C

2014-04-11 17:12:02 521

转载 c++测试覆盖率统计

c++测试覆盖率统计 对于c/c++程序,使用GCC自带的gcov可以统计代码测试覆盖率。1,编译时加上选项-fprofile-arcs -ftest-coverage如果用cmakeadd_definitions (-fprofile-arcs -ftest-coverage)target_link_libraries (live -fprofile-arcs)

2013-03-08 13:51:29 991

转载 portal认证

流程描述:1)   用户通过标准的DHCP协议,通过AC获取到规划的IP地址。2)   用户打开IE,访问某个网站,发起HTTP请求。3)   AC截获用户的HTTP请求,由于用户没有认证过,就强制到Portal服务器。4)   Portal服务器向WLAN用户终端推送WEB认证页面。5)   用户在认证页面上填入用户名、密码等信息,提交到Portal服务器。6)   Po

2012-06-28 19:59:36 112

转载 Radius 属性

A.1  RADIUS属性介绍了RADIUS的属性A.1.1 标准RADIUS属性A.1.2 华为RADIUS属性A.1.1  标准RADIUS属性编码名称描述1User-Name进行认证的用户名2Password进

2012-06-26 10:03:01 6926

原创 线程与进程的区别

线程与进程有很多类似的性质,因此人们习惯上也陈线程为轻量级进程(lightweight process, LWP),是CPU调度和分派的基本单位;而传统意义上的进程则被称为重量级进程(heavyweight process, HWP),从现代角度看,就是只拥有一个线程的进程。从调度,并发性,系统开销和拥有资源四方面对线程和进程进行比较。调度:线程作为CPU调度和分派的基

2012-05-15 23:15:51 427

原创 inux下支持的进程间通信方式

管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posi

2012-05-15 23:12:30 288

转载 IPv6套接字编程介绍

1.概述 由于互联网用户的日益增加,网络需求日益扩大,IPv4地址也日益紧张。人们为了解决地址日趋耗尽的问题,采用了CIDR、NAT等技术来延缓地址耗尽的速度,但这并不能从根本上解决IPv4目前存在的问题,IPv4地址耗尽只是一个时间问题。随着互联网的发展,Internet骨干路由器的路由表也日益扩大,这使得路由器必须维护大量路由表。 由于IPv6可以解决传统的IP技术的瓶颈问题,

2012-04-23 19:19:45 70

转载 管道重定向与进程间通信

先来看看下面的这张图:当进行I/O重定向时,只是将不同进程表的不同fd指向同一文件表结构。关于I/O重定向,要用到以下的重要函数:int dup( int oldfd );int dup2( int oldfd, int targetfd )        利用函数dup,我们可以复制一个描述符。传给该函数一个既有的描述符,它就会返回一个新的描述符,这个新的描述符是传给它的

2012-03-27 21:59:52 501

原创 PHP和C通过Socket通信--UDP篇

/*server.c*/#include #include #include #include #include #include #include #include #include main(){int sock;struct sockaddr_in server,client;int recvd,snd;int structlength

2012-01-12 23:04:51 1375

转载 在TCP三次握手后插入伪造的TCP包

一、说明用Socket的API Connect完成TCP建立连接的三次握手,同时子进程抓包,抓完三次握手的包后,插入第四个包即可,从对端返回的第五个包来看插入成功了,但因为插入了一个TCP包,之后的连接将发生混乱。可以将插入的那个包Data设置为HTTP Request,向WEB服务器提交请求。又如果目标系统的TCP序列号是可预计算的,那么是否可以做带伪源地址的Blind TCP thre

2012-01-08 22:28:39 477

转载 修改以及重构SKB

测试环境:   CentOS5.3 2.6.18工具:   sendip和wireshark   sendip可以发送各种数据包,确实方便.wireshark图形化的显示对于分析整个数据包还是相当不错的...   一:内核态基于Netfilter构造数据包主要有两种方式:1. alloc_skb申请一个skb结构体,然后根据实际的应用填充不同的成员,或者基于当前数据

2011-12-29 22:30:09 975

转载 Linux内核发送构造数据包的方式

一、构造数据包简析这里并不详细介绍如何在内核中构造数据包,下文如有需要会在适当的位置进行分析。这里简单的分析讲一下内核态基于Netfilter框架构造数据包的方式。       内核中可以用到的构造数据包的方式,个人认为可以分为两种。其一,我们直接用alloc_skb申请一个skb结构体,然后根据实际的应用填充不同的成员,或者基于当前数据包的skb,调用skb_copy_expand(

2011-12-29 22:13:08 464

转载 struct sk_buff分析

struct sk_buff可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息,并包含很多成员变量供网络代码中的各子系统使用。    这个结构被网络的不同层(MAC或者其他二层链路协议,三层的IP,四层的TCP或UDP等)使用,并且其中的成员变量在结构从一层向另一层传递时改变。 L4向L3传递前会添加一个L4的头部,同样,L3向L2传递前,会添加一个L3的头部。添加头

2011-12-28 22:02:04 467

转载 iptables的NAT配置

nat表需要的三个链:  1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。  3.OUTPUT:定义对本地产生的数据包的目的NAT规则。

2011-12-14 15:13:28 382

原创 Netlink 介绍说明

介绍:        Netlink socket是一种特别的IPC,用于在内核和用户空间传输数据.它提供了标准socket的全双工的数据连接.对用户来说使用标准的socket APIs,内核模块使用另外一组特殊的kernel API. Netlink socket使用address family AF_NETLINK,就如同TCP/IP socket使用AF_INET.每种netlink s

2011-12-11 22:08:59 1770

转载 读取配置文件的shell脚本

如有个配置文件config,里面内容为         ID=123456         IP=192.168.1.123         Name=testshell脚本实现如下: #!/bin/bashsource configecho $IDecho $IPecho $Name

2011-12-11 22:04:38 379

原创 Linux使用ioctl 获取ip地址的方法

具体代码如下:#include #include #include #include #include #include #include int main(){     int inet_sock;    struct ifreq ifr;    inet_sock = socket(AF_INET, SOCK_DGRAM, 0);

2011-12-01 21:26:00 709

转载 RADIUS协议

RADIUS原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。在RADIUS的Server端和Client端之间的通信主要有两种情况:一种是接入认证;另一种是计费请求。RADIUS协议认证机制灵活,可以采用PA

2011-11-16 22:15:22 1339

转载 NAND FLASH存储器的坏块管理 .

NAND FLASH存储器的坏块管理(HAL)硬件适配层管理坏块,通常工厂在出厂时建立一个坏块表标记坏块。坏块是那些包含一位或者多位无效位,可靠性不能保证的块。坏块可能在出厂时已经存在,也可能在使用过程中产生。有坏块的设备和无坏块的设备有相同的质量等级和相同的AC,D

2011-10-09 10:35:22 619

转载 Linux下C多线程编程

Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linu

2011-09-14 14:12:49 7699

中国移动WLAN(SIM认证)流程

WLAN 上网认证的另外一中方式,SIM卡认证方式流程。

2012-08-13

中国移动WLAN业务portal设备规范v3.0.0

中国移动WLAN业务portal设备规范v3.0.0开发说明问题,有利于对中国移动先WLAN portal业务的开发了解。

2012-07-09

Qt编程及应用实例讲解

编写QT界面程序的实例介绍以及QT编程的实例讲解。

2010-01-04

Makefile 中文手册

Makefile编写的技术手册,有利于很好的学习如何编写Makefile。

2010-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除