2010年5月8日

Linux C++ 一个线程池的简单实现(附代码)

摘要: 这是对pthread线程的一个简单应用1. 实现了线程池的概念,线程可以重复使用。2. 对信号量,互斥锁等进行封装,业务处理函数中只需写和业务相关的代码。3. 移植性好。如果想把这个线程池代码应用到自己的实现中去,只要写自己的业务处理函数和改写工作队列数据的处理方法就可以了。Sample代码主要包括一个主程序和两个线程实现类ThreadTest.cpp:主程序CThreadManager:线程管理... 阅读全文

posted @ 2010-05-08 17:19 zhaogang 阅读(12884) 评论(4) 推荐(3) 编辑

2010年3月22日

HTTP的请求头标签 If-Modified-Since

摘要: 一直以来没有留意过HTTP请求头的IMS(If-Modified-Since)标签。最近在分析Squid的access.log日志文件时,发现了一个现象。就是即使是对同一个文件进行HTTP请求,第一次和第二次产生的网络流量数据也是不一致的。在调查的过程中,逐渐了解了HTTP的If-Modified-Since的头标签的作用。大家都知道客户端浏览器是有缓存的,里面存放之前访问过的一些网页文件。例如I... 阅读全文

posted @ 2010-03-22 23:23 zhaogang 阅读(41581) 评论(6) 推荐(9) 编辑

2010年3月2日

在命令行下实验FTP的PASV传输模式

摘要: FTP的PASV传输模式也叫被动传输模式。众所周知,标准FTP传输需要两个TCP/IP连接,有一个命令连接,用于FTP客户端与FTP服务器端之间传递命令和执行结果的信息。还有一个是数据连接,在执行上传文件或下载文件的操作用于传输文件的数据。命令连接的端口是固定的,连接是持续的,一般是21号端口。而数据连接的端口是随机的,是临时产生的,而且连接是随连随断的。rfc959的标准协议文档里的一个简易的例... 阅读全文

posted @ 2010-03-02 16:54 zhaogang 阅读(30914) 评论(4) 推荐(3) 编辑

2010年2月22日

瀑布模型开发与敏捷开发的对比

摘要: 瀑布模型开发: 严格把软件项目的开发分隔成各个开发阶段:需求分析,要件定义,基本设计,详细设计,编码,单体测试,结合测试,系统测试等。使用里程碑的方式,严格定义了各开发阶段的输入和输出。如果达不到要求的输出,下一阶段的工作就不展开。强调文档,在开发的后期才会看到软件的模样。在这种情况下,文档的重要性仿佛已经超过了代码的重要性。瀑布模型把开发人员定义为流水线上的工人。由于各阶段的开发人员只能接触到自... 阅读全文

posted @ 2010-02-22 16:27 zhaogang 阅读(12909) 评论(0) 推荐(1) 编辑

2010年2月9日

HTTP GET/POST分析工具:TamperIE

摘要: 我们在使用浏览器进行网页浏览时,经常要向对方的WEB服务器发送数据,有时是想要访问的URL地址,有时是在表单中填写的个人信息等。在网页上点击提交按钮之后,IE会使用GET方法或POST方法进行封装,然后向服务器发送。如果使用GET方法,数据会显示在地址栏中(由于进行了URI编码,汉字是不可读的)。如果使用POST方法,就什么也看不到了。有一个作为IE插件的小工具TamperIE,通过使用它,能够在... 阅读全文

posted @ 2010-02-09 16:45 zhaogang 阅读(17594) 评论(2) 推荐(0) 编辑

导航