使用 acl_cpp 的 HttpServlet 类及服务器框架编写WEB服务器程序 在 《用C++实现类似于JAVA HttpServlet 的编程接口 》 文章中讲了如何用 HttpServlet 等相关类编写 CGI 程序,于是有网友提出了 CGI 程序低效性,不错,确实 CGI 程序的进程开销是比较大的,本文就将说明依然是这些 HTTP 相关的类,如果在使用 acl_cpp/src/master 下的服务器框架类的条件下,可以非常方便地转为服务器程序。现 2012-05-21 http开发 #http
用C++实现类似于JAVA HttpServlet 的编程接口 一、概述互联网刚兴起时,很多项目都是用 C /Perl 语言写的一大堆 CGI,一些老程序员可谓是偿尽了编程的苦,因为那时国内的技术水平普遍比较低,如果你会 CGI 编程,就已经算是行业中人了,如果你对 CGI 编程比较熟练,则就可以称得是“专家”了,后来技术不断进步,各种国外的新技术都进入中国并不断得到普及,CGI 就逐渐沦为一种落后的技术,后来的 PHP, JSP/Serv 2012-05-20 http开发 #http
非阻塞网络编程实例讲解 一、概述acl 库的 C 库(lib_acl) 的 aio 模块设计了完整的非阻塞异步 IO 通信过程,在 acl 的C++库(lib_acl_cpp) 中封装并增强了异步通信的功能,本文主要描述了 acl C++ 库之非阻塞IO库的设计及使用方法,该异步流的设计思路为:异步流类与异步流接口类,其中异步流类对象完成网络套接口监听、连接、读写的操作,异步流接口类对象定义了网络读写成功/超时 2012-04-04 非阻塞编程
使用 acl 较为底层的 HTTP 协议库写 HTTP 下载客户端举例 在《使用 acl 库开发一个 HTTP 下载客户端》文章中介绍利用ACL库中的 HTTP 高级API函数编写HTTP下载客户端的简单的例子,本文介绍一下如何使用稍微底层的API来编写同样功能的例子。在这个例子中,可以看到那些高级API是如何封装底层API的。 请先看一个例子如下: 12345678910111213141516171819202122232425262728293031323334 2010-01-13 http开发 #http
使用 acl 库开发一个 HTTP 下载客户端 在 acl 的协议库(lib_protocol) 中有专门针对 HTTP 协议和 ICMP 协议的,本文主要介绍如何使用 lib_protocol 协议库来开发一个简单的 http 客户端。下面首先介绍一下几个本文用到的函数接口。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464 2010-01-11 http开发 #http
配置文件的读取 配置文件的读取是程序中必要部分,虽然不算复杂,但如果每次都写配置文件的分析提取代码也是件烦人的事。现在流行的配置文件格式有:ini,xml ,简单name-value对等格式,ACL库中实现了最简单的 name-value对格式的配置文件,该文件格式有点类似于 xinetd.conf 的格式,文件格式如下: test.cf: 12345678910111213service myapp { 2009-11-03 配置文件
协作半驻留式服务器程序开发框架 协作半驻留式服务器程序开发框架 — 基于 Postfix 服务器框架改造1. 概述现在大家在和 Java, PHP, #C 写应用程序时,都会用到一些成熟的服务框架,所以开发效率是比较高的。而在用C/C++写服务器程序时,用的就五花八门了,有些人用ACE等等,这类服务器框架及库比较丰富,但入门门槛比较高,所以更多的人是自己直接写服务器程序,初始写时觉得比较简单,可时间久了,便会觉得难以扩 2009-08-15 服务编程 #服务编程
ACL编程之父子进程机制,父进程守护子进程以防止子进程异常退出 在WIN32平台进行编程时,经常会遇到工作进程因为程序内部BUG而异常退出的现象,当然为了解决此类问题最好还是找到问题所在并解决它,但如果这类导致程序崩溃的BUG并不是经常出现,只有当某种条件发生时才会有,在我们解决BUG的时间里,为了尽最大可能地为用户提供服务可以采用一种父进程守护机制:当子进程异常退出时,守护父进程可以截获这一消息,并立即重启子进程,这样用户就可以继续使用我们的程序了,当然如果 2009-06-07 进程控制
利用ACL库开发高并发半驻留式线程池程序 一、概述在当今强调多核开发的年代,要求程序员能够写出高并发的程序,而利用多个核一般有两种方式:采用多线程方式或多进程方式。每处理一个新任务时如果临时产生一个线程或进程且处理完任务后线程或进程便立即退出,显示这种方式是非常低效的,于是人们一般采用线程池的模型(这在JAVA 或 .NET 中非常普遍)或多进程进程池模型(这一般在UNIX平台应用较多)。此外,对于线程池或进程池模型又分为两种情形:常驻留 2009-06-07 线程编程