设为首页 加入收藏

TOP

2011年计算机等级考试二级C语言辅导实例编程(18)
2014-10-28 18:30:09 来源: 作者: 【 】 浏览:99
Tags:2011年 计算机 等级考试 二级 语言 辅导 实例 编程

  C语言开发FastCGI应用程序


  I/O函数包


  FastCGI软件开发套件,开源的WebServer 2.0服务器包含I/O函数包用与简化把已存在的CGI程序转成FastCGI程序或者编写FastCGI程序,在开发套件中有两个函数包:fcgi_stdio 和 fcgiapp,在你的程序中必须包含这些包中的一个:


  fcgi_stdio.h


  fcgiapp.h


  fcgi_stdio包,是fcgiapp包的顶层包,在转化CGI程序或者是写新的FastCGI程序是,我们强烈推荐你用它,fcgi_stdio包有以下几个优点:


  简单:只要有三个性的API需要学。


  易懂:如果你正包CGI程序转化为FastCGI程序,你会发现CGI程序与FastCGI程序之间只有很少的区别。在我们设计函数库的时候我们尽可能的 把FastCGI应用程序变得容易理解,以至于我们在建立新FastCGI程序的时候我们使用相同的环境变量,相同的解析查询字符串的技术,以及相同的 I/O程序等。


  方便:这个库函数提供了CGI和FastCGI二进制的文件的完美兼容。因此不管是CGI还是FastCGI,都同样运行。


  代码结构


  FastCGI的代码构成,把你的代码分成两个独立部分:


  1.初始化部分:只执行一次


  2.应答循环部分:FastCGI脚本每被调用一次,这部分九被执行一次


  一个应答循环的典型格式如下:


  while (FCGI_Accept() >= 0) {//循环条件


  # 应答循环体


  }


  知道一个客户端请求来的时候FCGI_Accept块才执行,并返回0。如果有一个系统故障,或是系统管理员终止进程,Accept将返回-1。


  如果应用程序作为一个CGI程序被调用,那么第一次调用Accept时,返回0,第二次总是返回-1,产生CGI行为。(请详见20页的"FCGI_Accept (3)" )


  注意,在CGI中鼓励用小脚本,然而在FastCGI中则鼓励使用组合式的脚本。你可以在从新构想你的程序的全局结构,来获得FastCGI的高性能。


  例1: TinyFastCGI


  这是一个用C语言写的一个简单FastCGI应答程序例子:


  #include "fcgi_stdio.h"


  #include


  int count;


  void initialize(void)


  {


  count=0;


  }


  void main(void)


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2011年计算机等级考试二级C语言辅.. 下一篇2011年计算机等级考试二级C语言辅..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: