自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aitp2011的专栏

记录自己的学习之路

  • 博客(14)
  • 收藏
  • 关注

原创 使用libxml读取分析配置文件

配置文件示例如下: 7 192.168.2.213 5730 192.168.2.230 9003 首先定义存储信息的结构体:typedef struct _partition { char ip[STRING_SIZE_MAX]; int port;} partition_

2015-11-02 19:59:54 455

原创 c语言宏定义中的#、##应用实例

#:用于字符串化,#后面的参数被转成一个字符串##:用于字符串的分割连接举例:首先定义一个字符串及其长度的结构体:typedef struct AVal{ char *av_val; int av_len;} AVal;宏定义一个该类型的字符串结构:#define AVC(str) {str,sizeof(str)-1}#define SAVC(x) s

2015-11-02 18:33:57 668

原创 linux获取局域网、公网IP地址以及主机名

int IsLANIP(unsigned int nIP){ // filter LAN IP's // ------------------------------------------- // 0.* // 10.0.0.0 - 10.255.255.255 class A // 172.16.0.0 - 172.31.255.255 class

2015-10-23 19:52:13 3277

原创 Ubuntu11.04安装、配置samba

安装:#sudo apt-get install samba#sudo apt-get install smbclient启动:sudo service smbd restart配置:/etc/samba/smb.conf 文件尾部追加path = /home/xxxx/samba        writeable = yes;       br

2015-08-24 14:39:46 300

转载 IO阻塞、非阻塞、同步、异步理解

http://blog.csdn.net/historyasamirror/article/details/5778378http://www.zhihu.com/question/19732473IO分5种:blocking IO、nonblocking IO、IO multiplexing、signal driven IO(少用)、asynchronous IO阻塞判断标准

2015-07-21 16:03:46 390

原创 linux下使用Jsoncpp

linux下使用Jsoncpp源码与项目代码一起编译时,会出现很多报错,诸如:error: missing binary operator before token "("/usr/include/wchar.h:104:1: error: ‘__BEGIN_NAMESPACE_C99’ does not name a type/usr/include/wchar.h:107:1:

2015-07-11 09:32:23 1497 1

转载 动态链接库与静态链接库

概念动态链接:lib文件一般是一些索引信息,记录了函数在DLL文件中的入口信息;dll文件在运行时加载到进程空间中,包含了要执行的代码逻辑,因此可知动态库中的被引用函数不会包含在可执行文件中,所以应用程序最后发布时,需要exe与dll文件一起发布。静态链接:lib包含了函数代码(实际是各种cpp编译生成的obj的集合),在编译阶段直接将代码加入程序中;链接器从lib中获取所有的被引用函数,

2015-05-21 16:21:01 384

转载 ICE-RFC5245摘要

ICE:Interactive Connectivity Establishment参考链接:http://tools.ietf.org/html/rfc5245简介      ICE技术使用请求/应答模型的信令协议建立交互式连接,方便基于UDP的媒体流的NAT穿透。它也整合了STUN和TURN协议的内容,形成了完整的穿透NAT的解决方案,相对于其他解决方案,如ALGs(应用层网关)、

2015-04-21 16:17:36 775

转载 TURN概述.

TURN:Traversal Using Relays around NAT主要参考链接:http://www.rfc-editor.org/rfc/rfc5766.txt(RFC5766)和http://www.cnblogs.com/ishangs/p/3816689.html(思路很清晰)应用场景        STUN协议可以使内网主机获取到STUN Server看到的反射地址

2015-04-21 13:57:53 624

转载 UDP Hole punching 概述

基本思想        利用一个任何客户端都可达的服务器,在服务器上预先存储、维护客户端的UDP公用端点地址,当双方需要通信时,通过服务器的介绍获取对方的端点地址,建立直接的连接(两个客户端公网地址之间的直连)。基本流程        假设有两个位于私网中的客户端C1和C2(可能位于同一私网),都可访问同一Server,那么流程如下:        一、C1向服务器发出请求,要求与

2015-04-20 16:49:33 1011

转载 STUN--RFC5389摘要

STUN:Session Traversal Utilities for NAT1、概述      RFC3489的劣势:一、NAT穿透有时会失败,但没有失败补救措施;二、NAT分类算法不适用于现代的很多NAT类型;三、安全弱点。      与RFC3489不同,该文档不再把STUN描述为解决NAT穿透的完整解决方案,而是将STUN作为一种工具集成到其他更完备的解决方案中去,例如本协议

2015-04-18 16:19:28 3781

转载 STUN--RFC3489摘要

1、适用性:不允许向内穿过NAT的TCP连接请求,不允许向内穿过对称NAT的连接请求(UDP也不行),位于同一个NAT后面的通讯端点的地址也不能通过STUN获取。STUN不需要修改NAT,并可工作在应用实体和因特网前后间有任意数量的NAT的情况下。2、基本原理:用UDP简单穿过NAT(STUN),允许NAT后的实体首先发现NAT的存在和其类型,接着知道NAT分配的地址捆绑。用

2015-04-15 18:13:51 1587 1

原创 MFC中的字符类型转换

工程用Unicode编码MFC调用底层接口,底层需要传入char*,要将Cstring转成char*: Cstring tmpStr; USES_CONVERSION; char* needstr = T2A(tmpStr);char* 转成Cstring,直接转就行: char* tmpStr; Cstring needstr(tmpStr);常

2015-04-02 14:14:01 410

转载 模板的特化与偏特化

模板的特化(模板参数列表指定特定类型)首先定义一个模板:templateclass test{//泛化实现代码}然后特化模板:template//尖括号中不带任何类型,也即原模板中的参数列表都将被特化class test//A、B用Cat,Dog特化{//特化实现代码}在以后使用test时,若为 test则表示执行特化实现的代码,若传入其

2015-03-25 18:09:04 375

空空如也

空空如也

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

TA关注的人

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