基本构架.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式Web服务器的设计与实现 文章出处: 发布时间: 2009/07/06 | 2986 次阅读 | 0次推荐 | 0条留言   随着嵌入式系统的发展和Internet的普及,嵌入式系统接入网络已经成为嵌入式系统应用的一个重要方向和必然结果,嵌入式Web服务器是嵌入式系统网络化应用的重要方面。传统的8位单片机单片机   单片机是单片微型计算机(Single-Chip Microcomputer)的简称,是一种将中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采用超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。 [全文] 由于其运行速度、驱动能力、功耗等问题已经越来越不能满足用户的需求。ARM处理器以其高性能、低功耗、丰富驱动等功能成为新的嵌入式电子产品开发的理想选择。同时为了实现对系统资源的更好分配、复杂任务的更好调度,引入嵌入式操作系统。ARM-Linux具有很好的移植性、稳定性、强大的协议支持功能和丰富的设备支持功能,现在被广泛应用于嵌入式操作系统。本系统采用基于INTEL Xscale架构的嵌入式处理器PXA270与ARM-Linux相结合构建一个嵌入式Web服务器。   1 嵌入式Web服务器技术   1.1 嵌入式Web服务器体系结构   嵌入式Web服务器的体系结构如图1所示。其中,客户端和Web服务器之间的通信协议采用HTTP 1.1;嵌人式实时多任务操作系统提供TCP/IP协议支持;Web服务器与数据库服务器间的交互接口为CGI(Common Gateway Interface)。   1.2 嵌入式Web服务器工作流程   客户端使用Web浏览器与Web服务器进行通信。Web服务器中使用HTTP协议,HTTP(超文本传输协议)为标准WWW传输协议,使用可靠的TCP连接,通常采用端口80。HTTP是一个简单的协议,每次连接只完成一个请求。客户端与Web服务器交换数据之前,首先用TCP/IP建立连接,服务器端程序建立TCP类型SOCKET并在80端口进行*,服务器在接收到用户端的请求后,解析客户请求的HTTP协议头、分析客户的请求,根据客户的请求返回相应的数据。这些数据可来自静态主页和文件,也可以根据请求动态产生。由此可见,接收客户端请求、解析客户端请求、响应客户端请求、向客户端回送请求的结果是Web服务器所完成的主要任务。   2 模块功能分析   系统分为客户连接处理模块、客户请求处理模块、协议处理模块3个模块。   2.1 客户连接处理模块功能   连接处理模块如图2所示。此模块完成第一步客户连接请求的处理,并将请求信息传递给客户请求解析处理模块去处理。   模块工作流程如下:   (1)打开文件描述字,建立文件描述符;   (2)读取连接信息、获取客户信息;   (3)调用客户请求解析模块,关闭文件流。   2.2 客户请求解析处理模块功能   此模块在连接模块完成对客户请求信息进行解析、处理。模块工作流程如下:   (1)对用户信息进行解密;   (2)查找用户请求资源是否存在;   (3)判断用户请求类型,选取不同的协议进行数据回传。   2.3 协议处理模块的功能   TCP/IP协议包括很多的协议,鉴于嵌入式Web服务器的应用场合和有限的资源,并不是所有的协议都需要实现,应根据系统的要求有选择的加以实现。以太网数据的传输是采用MAC地址来识别。为了保证系统在以太网的正常通信,首先需要实现ARP协议,因为ARP协议提供IP地址到MAC地址的转换功能。嵌入式Web服务器要实现在Internet上通信,在网络层一定要实现IP协议,以及能报告数据传送差错等情况的ICMP协议,因为IP协议是面向无连接的,它无法将状态信息和错误信息传到最初的主机上,因此要通过网际控制报文协议(ICMP)实现。在传输层主要有TCP协议和UDP协议,UDP协议是面向无连接的数据报文传输协议,而TCP协议则是面向可靠的数据流的传输。基于应用的需要和对可靠性的要求,在传输层采用TCP协议,并对TCP协议进行简化处理。在应用层,远端主机是通过浏览器的访问控制方式读取数据的,所以要实现HTTP协议。其他一些在Internet上应用较广泛的协议(如FTP协议、SMTP协议等)在此无需实现。   协议处理模块完成对连接信息进行分析,根据参数的不同,发送不同的HTTP协议头信息,在Linux系统下建立通信双方的服务程序可以使用套接字技术,常用的套接字有2种:流式套接字和数据报套接字。本系统为实现Web服务器功能采用的是流式套接字,流式套接字用法流程图如图3所示。   流式套接字提供了一种可靠的面向连接

文档评论(0)

word.ppt文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档