自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Haproxy代码分析系列-一些小的Tips

likely与unlikely#define likely(x) (__builtin_expect((x) != 0, 1))#define unlikely(x) (__builtin_expect((x) != 0, 0)) 这个宏定义主要是告诉编译器x变量更可能是1或者是0,方便编译器进行分支优化,__builtin_expect是gcc的一个宏,并没有改变变量x的值例如,程序:

2012-07-22 23:21:59 1016

原创 Haproxy代码分析系列:内存管理

Haproxy实现了自己的内存管理,主要思路是为经常使用的数据结构维护一个内存池,把所有的内存池再串起来,申请和释放内存时,首先到该内存池链表中查找该类型的内存池是否有空闲内存,有的话直接使用,没有的话再重新分配。代码主要在src/Memory.c中,文章来源于:Haproxy中的内存池结构是:struct pool_head {void **free_list;struct

2012-07-21 22:01:15 1868

转载 HTTP1.0和HTTP1.1的区别

Persistent Connection(持久连接)在HTTP1.0中,每对Request/Response都使用一个新的连接。HTTP 1.1则支持Persistent Connection, 并且默认使用persistent connection. Host 域 HTTP1.1在Request消息头里头多

2012-07-21 21:57:46 422

转载 http的cookie和session

Cookie和Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决HTTP无状态的问题而所做的努力。 如果直接在浏览器输入服务端资源的url来请求该资源,那么Session是匹配不到的,可以根据这个来获得用户的信息。Session可以用Cookie来实现,也可以用URL回写的机制来实现,当然如果客户端禁用cookie的话,只能用URL回写来实现。用Cookie来

2012-07-21 21:39:32 707

转载 TCP协议简介

大家很明白TCP初始化连接三次握手吧:发SYN包,然后返回SYN/ACK包,再发ACK包,连接正式建立。但是这里有点出入,当请求者收到SYS /ACK包后,就开始建立连接了,而被请求者第三次握手结束后才建立连接。但是大家明白关闭连接的工作原理吗?关闭连接要四次握手:发FIN包,ACK 包,FIN包,ACK包,四次握手!!为什么呢,因为TCP连接是全双工,我关了你的连接,并不等于你关了我的连接。

2011-04-07 15:22:00 935

原创 库函数简单示例

我们常把一些常用的函数做成库的形式提供给其它程序使用,一般有动态库和静态库2种静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。程序清单:hello.h(见程序1)为该函数库的头文件。hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该

2011-03-09 12:33:00 631

转载 linux命令行下常用的快捷方式

使用linux开发或者测试时,命令行(the mommand line)是最常用的方式,有一些快捷操作可以提高效率注使用alt时可能会跟secureCRT等终端的快捷方式冲突删除ctrl + d      删除光标所在位置上的字符相当于VIM里x或者dlctrl + h      删除光标所在位置前的字符相当于VIM里hx或者dhctrl + k      删除光标后面所有

2011-03-08 15:18:00 814

空空如也

空空如也

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

TA关注的人

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