您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于LINUX系统的嵌入式WEB服务器的设计2
*******************实践教学*******************兰州理工大学计算机与通信学院2015年春季学期嵌入式系统开发课程设计题目:基于LINUX系统的嵌入式WEB服务器的设计专业班级:通信工程12级1班姓名:王爱强学号:12250110指导教师:张玺君成绩:嵌入式系统开发课程设计目录摘要.............................................................................................................................................................1前言.............................................................................................................................................................2一、基本原理.................................................................................................................................................31.1嵌入式WEB服务器概述...................................................................................................................31.2SOCKET编程概述.............................................................................................................................4二、系统分析.................................................................................................................................................62.1整体结构图......................................................................................................................................62.2连接处理模块...................................................................................................................................6三、详细设计.................................................................................................................................................73.1主程序设计......................................................................................................................................73.2客户连接处理模块设计...................................................................................................................83.3客户请求解析处理模块设计...........................................................................................................83.4发送HTTP协议数据头模块设计.....................................................................................................9四、运行结果...............................................................................................................................................11参考文献.......................................................................................................................................................14总结...........................................................................................................................................................15致谢...........................................................................................................................................................17附录...............................................................................................................................................................18嵌入式系统开发课程设计1摘要嵌入式Web服务器主要用于远程监测和控制,它不同于传统的Web服务器,硬件处理器能力和储存能力有限,因此操作系统等相关软件需要进行裁剪以适应嵌入式环境,开源代码的操作系统Linu型具有强大的网络服务功能,支持多种网络接口和网络协议栈,同时具有成本低性能稳定,扩充能力强等特点,成为嵌入式操作系统的首选。关键词:Linux;Web服务器;浏览器;交叉编译嵌入式系统开发课程设计2前言嵌入式系统已经成熟并且得到了广泛地使用。在传统的测控系统中,为了实现多个测控点之间的信息交流,一般采用RS-485、CAN、SPI等总线将多个测控节点组织成一个网络,但是这样的网络专用性太强,有效地通信范围太窄,而基于TCP/IP协议的Web技术得到了普及,更重要的是这些协议是可开发的、标准的、独立于平台的。把嵌入式系统和与Web技术结合在一起,将Web技术引入到测量和控制系统中,实现基于嵌入式Web服务器的远程控制系统,必将有良好地应用前景。嵌入式系统离不开嵌入式操作系统。目前商用的操作系统往往价格昂贵,不适应广泛应用。嵌入式Linux操作系统源码可开发。移植性好,支持多种硬件平台并且支持几乎所有的常见网络通信协议支持的文件系统也很丰富,是一个功能完整的嵌入式操作系统并且有大量的优秀开发码源的应用软件和开发工具可以使用。因此,采用Linux作为平台,使用Web技术进行远程在线测控系统的设计。嵌入式系统开发课程设计3一、基本原理1.1嵌入式WEB服务器概述1)WEB服务器通常是在远程机器上,负责对浏览器页面请求作出响应,返回HTML编码或类似的数据流。通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(businesslogic)。随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。2)WEB浏览器WEB浏览器是个显示网页伺服器或档案系统内的HTML文件,并让用户与此些文件互动的一种软件。个人电脑上常见的网页浏览器包括微软的InternetExplorer、Mozilla的Firefox、Opera和Safari。浏览器是最经常使用到的客户端程序。3)嵌入式WEB服务器架构图1嵌入式WEB服务器架构嵌入式系统开发课程设计4常见的嵌入式WEB服务器有lighttpd、shttpd、thttpd、boa、mathopd、minihttpd、appweb、goahead等上百种。1.2SOCKET编程概述现在大多数的操作系统都提供了已编译好了的网络通讯程序。TCP/IP范围内最普通的例子就是web客户端(浏览器)和web服务器,还有就是FTP和Telnet的客户端和服务器等。Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。SOCKET编程接口#includesys/socket.hintsocket(intdomain,inttype,intprotocol);说明:socket()函数创建一个套接字参数:domain:应用程序所在主机使用的通信协议族type:建立的套接字的类型Protocol:使用的特定协议#includesys/socket.hintbind(intsockfd,structsockaddr*my_addr,socklen_taddrlen);说明:将套接字地址与所创建的套接字号联系起来参数:sockfd:调用socket返回的文件描述符my_addr:指向数据结构structsockaddr的指针,它保存地址(即端口和IP地址)信息addrlen:设置为sizeof(structsockaddr)#includesys/socket.hintconnect(intsockfd,conststructsockaddr*serv_addr,socklen_taddrlen);说明:建立套接字连接,成功返回0,失败返回-1参数:sockfd:调用socket返回的文件描述符serv_addr:保存着目的地端口和IP地址的数据结构structsockaddraddrlen:设置为sizeof(structsockaddr)嵌入式系统开发课程设计5#includesys/socket.hintlisten(ints,intbacklog);说明:用于面向连接服务器,表明它愿意接收连接参数:sockfd:调用socket返回的文件描述符backlog:在进入队列中允许的连接数目,在发生错误的时候返回-1#includesys/socket.hintaccept(ints,structsockaddr*addr,socklen_t*addrlen);说明
本文标题:基于LINUX系统的嵌入式WEB服务器的设计2
链接地址:https://www.777doc.com/doc-2570416 .html