毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

CGI的远程控制智能家居设计 第4页

更新时间:2012-2-27:  来源:毕业论文
嵌入式Linux下Web Server的实现
3.2.1、嵌入式Web服务器的选用
WEB服务器方案主要有两大类:HTTPD/THTTPD/BOA+CGI和Apache+Tomcat。在本例中我们主要选用BOA+CGI来实现我们需要的功能。那么什么是BOA+CGI技术呢?
在Linux系统下,嵌入式Web Server BOA+CGI 程序设计技术,是实现嵌入式Web系统的一种不错的方案。在linux下,主要有三个Web Server:HTTPD、THTTPD 和BOA。HTTPD是最简单的一个Web Server,它的功能最弱,不支持认证,不支持CGI。THTTPD和BOA的功能对比HTTPD功能更为全面,他们都支持认证、CGI 等功能。BOA是一个“单任务的小型HTTP服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。它的可执行代码只有约60 KB,Boa支持CGI,能够为CGI程序fork出一个进程来执行”[ ]。目前的linux的代码中已经包含BOA 的源代码。本文来自优.文~论-文·网原文请找腾讯324,9114
通过CGI(Common Gateway Interface)可以提供许多静态的HTML网页无法实现的功能,比如搜索引擎、基于Web的数据库访问等等。通用接口网关是外部应用扩展应用程序与WWW服务器交互的一个标准接口,它通过处理客户端浏览器输入的数据从而实现客户端与服务器的交互。而CGI规范就定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。

3.2.2、嵌入式web服务器的移植论文网http://www.youerw.com/  
(1) 下载、安装并编译Boa源码
从h下载最新的boa 的源码,其版本为0.94.13。
(2) 解压并进入源码目录的src子目录,修改Makefile文件,修改交叉编译器,执行make 编译,生成的在开发板上的可执行程序Boa,通过命令将调试信息剥去,得到的最后程序大约60 KB 大小,减少所占空间。
具体配置如下:
[root@localhost work]$tar xvzf boa-0.94.13.tar.gz    解压源码包
[root@localhost work]$cd boa-0.94.13/src             进到源码目录
[root@localhost src]$./configure               配置并生成Makefile
修改src/Makefile 文件:
找到    CC=gcc            改成               CC = arm-linux-gcc
找到    CPP=gcc –E       改成               CPP = arm-linux-gcc –E
修改src/compat.h:
找到#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
然后进行Make
[root@localhost src]$make 编译
[root@localhost src]$arm-linux-strip boa 将最终程序boa 中的调试信息剥去,减小其体积
3.2.3、嵌入式web服务器的配置
在Linux 操作系统下,应用程序的配置都是以配置文件的形式提供的,Boa启动时需要一个配置文件boa.conf,在程序运行前,要根据当前环境修改文件实现对Web服务器的配置。修改/boa-0.94.13/boa.conf 文件如下表:
       表: 3-1 boa.conf修改配置
 原文 更改本文来自优.文~论-文·网原文请找腾讯32491.14
1 Group nogroup Group 0
2 ScriptAlias /cgi-bin /usr/lib/cig-bin/ ScriptAlias /cgi-bin /var/www/cgi-bin/
3 #ServerName 去掉前面的#号
本文Boa的可执行文件boa放在/usr/sbin下,配置文件boa.conf放在目标板
/etc/boa目录下,还有mime.types文件也拷贝在/etc目录下,日志文件放在   /var/log/boa 目录下,指定的HTML页面放到/var/www目录下,cgi外部扩展程序放到/var/www/cgi-bin目录下。
3.3、实现web页面的cgi技术
CGI (Common Gateway Interface) 是一段运行在“Web服务器上的程序,提供同客户端的HTML页面交互的一个标准接口 [ ]。按照CGI 标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,完成客户端与服务器的交互操作”。
CGI程序工作原理为:“客户端的用户通过浏览器完成一定输入工作后,向服务器发出HTTP请求(称为CGI请求),服务器守护进程接收到该请求后,就创建一个子进程(称为CGI进程)” [ ]。该CGI子进程将CGI请求的有关数据设置成环境变量,在CGI 程序与服务器间建立两台数据通道,然后启动URL指定的CGI程序。子进程通过标准输出流处理结果作为应答消息回送到客户端。一个CGI程序的任务分为输入任务和输出任务。输入任务根据请求方法的不同,从环境变量QUERY STRING或标准输入中读取用户输入数据。输出类型任务生成HTTP响应头标内容,如消息正文的数据类型和数据长度等,生成HTTP响应消息正文内容,如动态生成的HTML文件内容。其工作流程示意图如图3-1和3-2所示[ ][ ] 。

上一页  [1] [2] [3] [4] [5] [6] 下一页

CGI的远程控制智能家居设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。