1 / 16

嵌入式 WEB 服务器: BOA+CGI

嵌入式 WEB 服务器: BOA+CGI. 报 告 人: 李 实. 随着 Internet 技术的兴起,在嵌入式设备的管理与交互中,基于 Web 方式的应用成为目前的主流。原因在于: 1 、不需要专用的通信线路 2 、传输的信息不局限于数据信号,还有声音和图像 3 、其通信协议是标准且公开的 在嵌入式设备上运行一个支持脚本或 CGI 功能的 Web 服务器,能够生成动态页面,在用户端只需要通过 Web 浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。. 一个嵌入式 Web 服务器不可能是很全面的,但是: 1 、拥有足够小的容量

Download Presentation

嵌入式 WEB 服务器: BOA+CGI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 嵌入式WEB服务器:BOA+CGI 报 告 人: 李 实

  2. 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流。原因在于:随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流。原因在于: 1、不需要专用的通信线路 2、传输的信息不局限于数据信号,还有声音和图像 3、其通信协议是标准且公开的 在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。

  3. 一个嵌入式Web服务器不可能是很全面的,但是:一个嵌入式Web服务器不可能是很全面的,但是: 1、拥有足够小的容量 2、不影响嵌入式系统的整体性能 3、必须具备一个Web服务器应有的特征。

  4. BOA服务器简介: 1、一个非常小巧的Web服务器,约60KB 2、一款单任务的HTTP 服务器, 通过建立HTTP 请求列表来处理多路HTTP 连接请求, 同时它只为CGI 程序创建新的进程, 这样就在最大程度上节省了系统资源 3、具有自动生成目录、自动解压文件等功能 因此, Boa 具有很高的HTTP 请求处理速度和效率

  5. BOA的功能实现: • 完成Web 服务器的初始化工作 • (b) 当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息; • (c) 在接收到客户端的连接请求之后,分析客户端请求,求做出相应的处理; • (d) Web服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接.

  6. Boa 根据请求方法的不同, 做出不同的响应. 1、请求方法为HEAD, 则直接向浏览器返回响应首部; 2、请求方法为GET, 则在返回响应首部的同时, 将客户端请求的URL 目标文件从服务器上读出, 并且发送给客户端浏览器; 3、请求方法为POST, 则将客户发送过来的表单信息传送给相应的CGI 程序, 作为CGI 的参数来执行CGI 程序, 并将执行结果发送给客户端浏览器.

  7. BOA的移植: 1、修改Web 服务器Boa,(输入输出缓存,可以处理的HTTP 连接数量,用户必须自己实现一些函数功能) 2、交叉编译Boa 3、配置Web服务器Boa,主要在boa.conf文件中需要对其运行环境、参数等进行设置 :端口,服务器名称,文件根目录,权限等 4、测试运行

  8. 目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP, ASP等,但后者需要Web服务器具有这些脚本的运行支持模块。在嵌入式Web服务器中,考虑到资源限制问题,一般都只提供CGI支持,因此在嵌入式设备中Web方式应用实际上就是基于CGI的程序开发。

  9. #include <stdio.h>int main(void){        printf("Content-type: text/html\n\n");        printf("<html>\n");        printf("<head><title>CGI Output</title></head>\n");        printf("<body>\n");        printf("<h1>Hello,world.</h1>\n");        printf("<body>\n");        printf("</html>\n");        exit(0);}

  10. CSP(是C Language Service Page 的缩写) 它是一种基于C语言的脚本开发技术。跟ASP、JSP类似,它们都是CGI(Common Gateway Interface)的一种变种。 是直接将C/C++语句插入到HTML/XML等模板文件中脚本格式。它的语法非常简单,像ASP/JSP一样通过<% %>标记嵌入C语句。使得CSP的开发更快速、更高效,同时还大大提了最终代码的可读性和维护性。

  11. <html> <head><title>CGI Output</title></head> <body> <% @include <stdio.h> %> <% $printf("%s<BR>", "Hello world! "); %> </body> </html>

  12. eybuild开发套件 它能自动将CSP页面及其相关文件(CSS/JS/GIF/JPG等)编译成C/C++源程序,并链接eybuild平台库生成可以在目标系统上直接执行的CGI程序。 CSP2BIN 编译程序 CSP文件 C源程序 CGI程序 eybuild

  13. Eybuild优势 1、继承了C语言的一切特性 2、完全遵循CGI1.1标准 3、WEB界面的开发和执行控制动作进行了有效的分离。编辑好HTML页面模板, 然后在适当地方嵌入C语句即可以有效控制页面的输出

  14. 谢谢!

More Related