嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本.doc_第1页
嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本.doc_第2页
嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本.doc_第3页
嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本.doc_第4页
嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式LINUX系统中HTTP协议的实现方法研究嵌入式论文样本 嵌入式X LINUX系统中P 协议的实现方法研究嵌入式论文本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 论文题目:嵌入式X LINUX系统中P 协议的实现方法研究学生姓名:指导老师:所在学院:时间:年6月本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 摘要随着计算机技术的发展,嵌入式系统已成为计算机应用领域的一个重要组成部分。 随着网络技术与嵌入式技术的结合,Inter网络体系结构中应用层的各种协议,在嵌现入式系统设备中有了实现的可能。 本文就是在嵌入式系统设备上实现协议的部分功能。 本论文从嵌入式系统的设计与开发入手,到在嵌入式系统硬件设备上,实现基于Linux操作系统上实现协议的服务端功能程序。 整个发生过程如下:首先,嵌式入式系统的硬件设备的选择与实现。 在众多的嵌入式CPU中,考虑到实现协议对的服务端功能程序,对CPU的性能要求不是很高,最终选择了性价比较高的SAMSUNG于公司的基于ARM7TDMI的S3C44B0X一款CPU芯片。 以太网控制芯片为RTL8019AS。 博创科技公司开发的一款实验箱恰好恰符合这种要求。 其次,嵌入式软件系统的实现。 对于嵌入式系统操作系统的选择,由于硬件功能的限制,通过比较几个常用的嵌入式操作系统,最后选择了linux操作系统。 在该系统下,选用C程序设计语言,利用linux操作系统地系统函数库和SOCKET编程技术,实现服务端的功能。 最后,该项目的实际意义主要在于两个方面的应用,一个是监视功能,用于在服务器端进行某项监视任务,使在客户端的浏览器中的显示监视的信息,这样能帮助用户主动获取信息。 另一个是控制仪器设备。 用户能够通过执行CGI程序或脚本语言,通过Inter获得交互式信息,对其进行远程控制。 关键词:嵌入式系统;超文本传输协议;Linux;本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Abstract Withthe developmentof theputer technology,embedded system technology hasbee animportant part of theputer application.After theputer worktechnology and the embedded systemtechnologybines,some protocolsof the application layerin the inter workarchitecture canbe translatedinto programsthat runon the embedded devices.The thesispresents the design andimplementation ofpartof the protocolbased onembedded hardwareand operationsystem.The serverprocesses therequest,returns aheader containinga statuscode andeither afile oran HTMLdocument attachedafter theheader.The thesisintroduces theprocedure of thedesignand developmentof theembedded system,which theserver functionprogram of the protocol realizesbased onembedded devicessystem and?CLinux OSplatforms.The entireprocess goesas follows.First,the thesisintroduces thechoice andthe realizationof theembedded systemhardware.Because theperformance andplexion ofthe programofthe serverfunction isnot toomuch,I choseSamsungs S3C44B0X CPUthat isbased onARM7TDMI amongthe manyembedded CPUandtheEther controllerchip ofthe systemis,UP-NETARM3000experiment systembased onARM7platform meetsthe need,which ismade byuniversal pioneeringTechnology Co.,LTD.Second,theembeddedsystem realizes.Considering thelimited performanceoftheembeddedsystemhardware,I finallychoose?CLinux OSas thesoftware platformby paringseveral operationsystems ofcurrent embeddedsystem.I chooseC programminglanguage toprogram byuse ofthe operationsystem functionsand socket technology offeredby?CLinux inorder torealize the serverfunction.Finally,theapplicationoftheproject consistsof twoprimary parts.One ismonitoring function,that is,the informationmonitored by theserver canbe sentto theclient thatgets itbythebrowser;the otheris remotecontrolling appliancesand devices.Users cancontrol themremotely byrunning CGIprograms orscripts languageprograms throughtheinter.Key words:Embedded system;protocol,;Linux本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 文档如有不当之处,请联系本人或网站删除。 文档如有不当之处,请联系本人或网站删除。 第一章嵌入式的基础简介近年来嵌入式技术作为计算机科学与技术发展的一个新的分支,发展非常迅速,应用的前景被业内人士非常看好。 随着着Inter的普及,网络在人们的日常生活和工作中扮演着越来越重要的角色,已经成为人们生活和工作中不可缺少的部分。 1和随着嵌入式技术和Inter技术的发展与结合,嵌入式系统在互联网方面的应用越来越广泛,由于嵌入式系统带有网络接口,把嵌入式系统设备挂接互联网上,能够实现过嵌入式设备系统的数据通过Inter实现共享,这样对于远端的许多用户就能够通过浏览器以网页的形式和嵌入式设备进行通讯,从而实现各典型的基于X86的的CPU的的和微型计算机和Linux操作系统下的web服务器技术已经成熟。 但由于于Linux内核庞大,而嵌入式系统的硬件资源(CPU和存储器)远远比不上微型计算机,因此,要把Linux操作系统装入有限的内存,就要对它进行裁剪。 对于内存资源很宝贵的嵌入式系统来,式设计一个嵌入式网络服务器,用浏览器进行访问控制,在嵌入式网络设备中的式应用将是非常有前景的。 为了实现嵌入式服务端的功能,采用基于ARM7TDMI的内核的S3C44B0X CPU芯片,操作系统选用CLinux来作为嵌入式操作系统,利用CLinux提供的库函数及SOCKET编程技术,依据采用软件工程学的原理,来指导开发过程。 于当前用于Web页面访问的应用都是基于(Hypertext Transfer Protocol)应计用协议的,它对于设计Web浏览器等应用软件是必须需的。 我们在嵌入式产品无线PDA(personal DigitalAssistant)中为了实现嵌入式的浏览器,自行设计和实现了/,线为无线PDA提供访问Web页面提供了基本的支持。 在设计和实现过程中,我们应用了/,如可持续连接、缓存等减少了响应时间,改善了无线网络带宽窄而带来的延时,同时也提高了嵌入式设备的资源利用,为嵌入式设备提供了较好的实现方案。 该项目的实际意义包括以下两个方面的应用,一个是监视功能,用于在服务器端进行某项监视任务,使在客户端的浏览器中的显示监控的信息。 它能帮助用户主动获取信息。 另一个是控制仪器设备。 用户能够通过普通的HTML页面,在任何时间、任何地过方浏览电器设备的运行状态,并可对其进行远程控制,特别是通过Inter获得交互式信息。 、现状与发展20多年前,芬兰赫尔辛基大学的一名名为Linus Torvalds的计算机业余爱好者设计了一个能够代替Minix的操作系统,这个系统不但能够运行在的当时最为流行的x86本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 有平台的处理器,并且还具有Unix所能实现的一切功能,这就是早期Linux的前身。 1991年的9月,它将第一个Linux版本发布在网络上,并在十个月以后发布了第二个版本,同时,借助于网络,越来越多的计算机爱好者也加入了新版本开发的行列,它了们慢慢的成为了Linux强大的技术支持力量,也就是当今著名的Linux社区。 到现在,Linux已经发行了超过了30个版本,并且每三个月就会更新一个新版本,成为全世界最具影响力的操作系统之一。 现代社会信息化,智能化,网络化发展迅速,嵌入式系统的发展空间也越来越大。 从二十世纪九十年代起,嵌入式技术全面展开,发展到现在已成为通信,工业和消费类产品不可转变的共同发展方向。 二十一世纪是信息化的社会,互联网的发展不可抑制,网络化是提高生产效率,保证产品质量,降低人工成本的有效方法。 在工业工程控制,数字机床,电力系统,电网安全,石油化工系统等方面的发展,就离不开嵌入式系统,从老式的低端的八位单片机以到如今以32位,64位处理器为核心的工业控制设备,足以让我们明白当前工业设备的式发展是以嵌入式系统的发展为前提的。 特别在数控技术中,嵌入式LINUX数数控系统完用成了系统人机界面的开发,利用C语言完成了控制层面的开发。 现在一些大型商场中的自动售货机早已进入人们的视野,居民出行方便省钱的公交卡,随处可见的智能ATM终端,各种超市商场的会员卡,这些卡伴随着嵌入式系统的发展在人们生活中发挥着越来越重要的作用,一卡在手走遍天下已不是遥不可及的梦想。 在嵌入式系统的市场是巨大的,嵌入式系统的应用几乎无处不在:移动通信、数字办公、家电应用、交通运输、互动娱乐等无不有它的踪影。 体积小、可靠性高、功能强、灵活方便等嵌入控制器独有的特点与优势,使其被广泛运用到教育、国防、工农业、科学研究以及日常生活等各个领域,对各行各业的技术进步、自动化发展、产品更换、提高生产率等方面起到了十分重要的促进作用。 嵌入式系统作为人类青睐的系统工具,要想不被淘汰,只有吸引人们的目光,不断进步,给人类生活带来便利,打开新的消费市场,适应快速发展的社会状况。 近几年我国对物联网行业发展的大力支持和相关产业发展的不断推动,使得具有高度智能化的电子产品的应用范围也因此而不断的扩大,从而使得更多的嵌入式产品也不断的进入到了我们日常的生产生活之中,这就标志着嵌入式系统也进入到了飞速发展的时期,其应用的规模也随之不断的扩大、在此种背景下,本文首先对当前我国各行业对嵌入式系统的概念及应用情况进行简单的介绍和讲解,然后对嵌入式系统未来的发展趋势进行研究,进而了解嵌入式系统在我国各行业的深入应用。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 什么是嵌入式系统嵌入式系统本身的定义比较模糊,小到、手机、智能、电子仪表等微型数字化产品,大到数字家电、车载卫星定位器以及一些工业控制设备等都能够称为嵌入式系统。 根据国际电气和电子工程师协会的定义嵌入式系统是“用于控制、监视或者、辅助操作机器和设备的装置”,国内一般定义为“以应用为中心、以计算机技术为基础、软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统是电脑软件与硬件的综合体。 也能够涵盖机械或其它的附属装置。 硬件包括处理器微处理器、存储器及外设器件和拍端口、图形控制器等。 软件部分包括操作系统软件要求实时和多任务操作和应用程序编程。 这种系统具有软件代码小,高度智能化,响应速度快等特点,特别适合于要求实时的和多任务的体系。 有时设计人员把这两种软件组合在一起。 应用程序控制着系统的运作和行为而操作系统控制着应用程序编程与硬件的交互作用。 整个综合体设计的目的在于满足某种特殊功能。 能够认为凡是带有微处理器的专用软硬件系统都能够称为嵌入式系统。 图图11-1/P 请求解析传递参数(HOST、PORTFORMURLM FORM等)形成P 待发送数据建立基于t socket的网络连接发出P 请求,接收b web服务器的数据解析接收的P 数据并进行相应的处理结束本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 国际电气和电子工程师协会(Institute ofElectrical andElectronics Engineers,IEEE)曾给出了明确的定义:“用于控制、监视或者辅助机器和设备操作的装置”(Devices Usedto Control,Monitor orAssist theOperation ofEquipment,Machinery orPlants)。 但随着技术的发展,当前则普遍认为其定义应为:依附计算机相关技术作为核心技术,重在应用,软件与硬件能够根据需要裁减,灵活的适应系统对体积、功耗,成本与可靠性的要求。 一般来讲,嵌入式系统由硬件层、中间层、软件层三个方面组成,而被控对象或者系统的执行机构主要接收系统发来的控制指令,完成所规定的任务,最终实现嵌入式系统所预定的工作。 作为计算机系统技术的分支,嵌入式技术发展非常迅速,嵌入式控制器的应用几乎无处不在:手持终端设备、智能家电、汽车电子等都能找到它的踪迹。 由于其出色的性能,灵活的应用方式,以及体积功耗理想等特点,其对当今社会生产生活产生的影响是不可估量的。 Linux的主要特性完全自由到当前为止,Linux依然是一种绝对的开放自由的操作系统,所有的使用者都能够通过其官方网站方便的下载获得其源码。 并可在没有获得许可的情况下任意的修改其源码。 这是其它操作系统所不可想象的。 当然,也正是由于这一优势,全球各地对的数以万计的程序员、操作系统爱好者参加了对Linux内核的修改、编写与设计工作,让程序爱好者能够根据自己的兴趣和灵感对其进行修改。 这不但让Linux的内核吸收了无数程序员大量的的精华,还避免了版权等诸多纷争风险的存在。 容完全兼容POSIX标准由于其支持POSIX标准,这使得用户能够在Linux下通过相应的模拟器运行其它操作系统下开发的程序,如DOS、Windows的程序。 这为许多用户从Windows操作系统过渡到Linux操作系统提供了保障。 当许多使用者在考虑Linux操作系统时,就在不必担心早先在Windows操作系统下开发过的程序是否能在Linux操作系统下正常运行了,这也是Linux操作系统优势所在。 多用户、多任务Linux操作系统的另外一个特点就是对多用户的支持,通常不同的用户对于自己所,使用的文件设备会有特殊的操作权利,为了保证各用户之间在使用上互不影响,Linux操作系统采用了多用户的设计模式。 多任务则是现在计算机操作系统的最重要的一个特点,Linux操作系统能够使多个应用程序同时运行而相互之间没有影响。 良好的界面本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 Linux操作系统不但带有字符界面而且还具有图形界面。 在字符界面下,用户能够与通过输入相应的操作指令对计算机操作。 它还同时提供了具有与Windows操作系统的的图形界面非常相似的X-Window图形界面操作系统,用户除使用键盘外,还能够使用鼠标对计算机实时操作。 由于在X-Window系统环境中的操作就和在Windows操操说作系统中进行操作非常相似,因此能够说X-Window操作系统是一个Linux版的Windows操作系统。 丰富的网络功能由于Unix操作系统是在互联网的基础上发展而来的,作为其继承者,Linux操作系统同样具有强大的网络功能。 它的网络功能与其系统内核联系非常紧密,因此,在网络功能方面,Linux操作系统明显强于其它的操作系统。 在Linux操作系统中,用户能够轻松实现对网页的浏览、传输各类文件、以及远程登陆计算机等网络功能。 另外基于其强大的网络功能,Linux操作系统通常用来作为服务器提供、FTP、E-Mail等服务。 高安全、可靠、稳定性能Linux操作系统采取了许多安全技术第二章系统涉及到的关键技术措施,其中主要包括对用户读写权限控制、审核跟踪、严格的用户授权机制,这些措施都为系统的安全提供了必要地保障。 许多情况下,由于其出色的稳定性,Linux操作系统被作为网络服务器使用。 支持多种平台,当前,Linux操作系统能够运行非常多的硬件平台之上,例如x 86、ARM,AVR等等架构的处理器。 另外Linux还是一种嵌入式操作系统,它能够应用在手机、数码相机、电视机顶盒、游戏机等数码设备上。 年1月开始发布的版内核系统已经实现了对Intel64位芯片架构的支持。 同时Linux操作系统还对多处理器具有很好的支持。 当系统采用多个处理器同时工作时,其性能将大大的提高。 Web服务器通俗来讲,Web服务器能够认为是一种存在于因特网上某种特定类型的计算机应用程序。 当有Web浏览器(客户端)连接到Web服务器IP地址并请求访问文件时,Web服务器便会把存放在本地计算机上的相关文件发送至来访的浏览器,并通过附带信息的方式告知浏览器如何浏览相关文件。 当前,Web服务器进行文件通信时使用的是超文本传输协议(Hyper TextTransferProtocol,)。 因此,也可称其为服服务器。 除了存储被访问的数据文件之外,Web服务器还能够与客户端进行交互,并运本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 口行相关的脚本程序。 这些程序或者脚本一般称之为通用网关接口(Common CatewayInterface,CGI)。 Web服务器可驻留于各种类型的计算机,从常见的PC机到巨型的UNIX网络服务器,以及其它各种类型的计算机。 但在嵌入式系统中,由于资源有限,一般使用体积较小的Web服务器,其中多为单任务服务器,例如Boa。 系统中Web服服务器采用的就是Boa。 回通常是在远程机器上,负责对浏览器页面请求作出响应,返回HTML编码或类似的数据流。 通俗的讲,Web服务器传送(serves)页面使浏览器能够浏览,然而应用程序用服务器提供的是客户端应用程序能够调用(call)的方法(methods)。 确切一点,你能够说说:Web服务器专门处理请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。 着随着Inter技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用的成为当前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运或行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就能够对嵌入式设备进行管理和监控,非常方便实用。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 第二章协议简介协议基础Inter使使用的基本协议是TCP/IP协议,在TCP/IP协议模型最上层的是应用有层,它包含所有高层的协议。 高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和协议等。 2(Hypertext TransferProtocol)协议,即:超文本传输协议,是用于服服务器与本地浏览器进行超文本传输传送的协议。 它能够使浏览器与Web服务器通过互联网,更加高效使传输网络信息,并使之成为标准化。 它不仅保证计算机正确快速地传输示超文本文档,还确定传输文档中的哪一部分以及哪部分内容首先显示(如文本先于图形形)等。 由于协议是基于请求/响应范式的(相当于客户机/服务器)。 一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号后边是MIME信息包括请求修饰符、客户机信息等内容。 服务器在接收到请求后,给予相应的响应信息。 其格式为:一个状态行(包括信息的协议版本号、一个成功或错误的代码),后边是MIME信息包括服务器信息、实体信息和其它的一些内容。 许多通讯是由一个用户代理初始化的,并且包括一个申请在源服务器上资源的请求。 最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。 在在Inter上通讯经常发生在TCP/IP连接之上。 其缺省端口是TCP协议的的80端口,当然,其它的端口也是能够使用的。 但这并不预示着协议在Inter或其它网络的其它协议之上才能完成。 只预示着一个可靠的传输。 协议的内部操作过程大致如下,在中“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即:某个计算机在某个连接中的可能是客户机,而在另一个连接中可能作为服务器。 基于协议的客户/服务器模式的信息交换过程它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。 其实简单说,就是任何服务器除了包括HTML文件以外,还有一个协议驻留程序用于响应用户请求。 浏览器是协议客户机,当浏览器向服务器发送请求,在浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了了请求,此请求被送往由IP地址指定的URL。 驻留程序接收到请求后,进行必要的操作后回送所要求的文件。 在这一过程中,在网络上发送和接收的数据已经被本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息(即告诉网络怎样处理数据包)。 TCP/IP协议决定了每个数据包的格式。 请求和响应都使用头发送有关协议消息的信息。 头由一系列行组成,每行都包含名称,然后依次是冒号、空格、值。 字段可按任何顺序排列。 某些头字段既能用于请求头也能用于响应头,而另一些头字段只能用于其中之一。 许多请求头字段都允许客户端指定多个可接受的选项,有时甚至能够对这些选项的首选项进行排名,多个项以逗号分隔。 所有请求行后面的内容都是头的一部分。 紧接着头之后是一个空行,表示头已结束。 Web服务器能够通过多种方式响应前一个请求。 协议的运作过程当一个或多个中介出现在请求响应链中时,协议的运作情况就变得比较复杂。 中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel)。 一个代理根据URL的的绝对格式来接受请求,重写全部或部分消息,通过URL的标识把已格式化过的请求发送到服务器。 网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,能够把请求翻译给下层的服务器协议。 一个通道作为不改变消息的两个连接之间的中继点。 当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。 简要介绍了协议的宏观运作方式,下面介绍一下协议的内部操作过程。 首先,简单介绍基于协议的客户/服务器模式的信息交换过程,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。 在在中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连。 接期间,即在某个连接中的客户在另一个连接中可能作为服务器。 服务器运行时,一直在TCP80端口(的缺省端口)监听,等待连接的出现。 下面,讨论协议下客户/服务器模式中信息交换的实现。 连接的建立是通过申请套接字(Socket)实现的。 客户打开一个套接字并把它绑定在一个端口上,如果成功,就相当于建立了一个虚拟文件。 以后就能够在该虚拟文件上写数据并通过网络向外传送。 打开一个连接后,客户机把请求消息送到服务器的特定端口上,完成提出请求动作。 /请求消息的格式为:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 请求消息=请求行(通用信息|请求头|实体头)CRLF实体内容请求行=方法请求URL 版本号CRLF方法=GET|HEAD|POST|扩展方法URL=协议名称+宿主名+目录与文件名请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。 不同的请求对象对应GET的结果是不同的,对应关系如下:对象GET的结果文件文件的内容程序该程序的执行结果数据库查询查询结果HEAD要求服务器查找某对象的元信息,而不是对象本身。 POST从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST。 方法。 POST主要用于发送HTML文本中FORM的内容,让CGI程程序处理。 头信息又称为元信息,即信息的信息,利用元信息能够实现有条件的请求或应答。 请求头告诉服务器怎样解释本次请求,主要包括用户能够接受的数据类型、压缩方法和语言等。 实体头实体信息类型、长度、压缩。 方法、最后一次修改时间、数据有效期等。 实体请求或应答对象本身。 服务器在处理完客户的请求之后,要向客户机发送响应消息。 /的响应消息格式如下:响应消息=状态行(通用信息头|响应头|实体头)CRLF实体内容状态行=版本号状态码原因叙述状态码表示响应类型1保留2表示请求成功地接收3为完成请求客户需进一步细化请求4客户错误5服务器错误响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 客户和服务器双方都能够通过关闭套接字来结束TCP/IP对话。 协议的工作模式及特点协议是一种用于分布式、合作式的多媒体信息系统的应用层协议,它在1990年全球信息刚刚起步的时候就得到了应用。 协议是一种请求/响应协议,在与主机建立连接后,客户以请求方法、URI和协议版本的形式向服务器发送请求,随后是类MIME信息(包括请求修改,客户信息和可能的正文内容)。 服务器用包括消息协议版本和一个成功或错误代码的状态行进行应答,随后也是类MIME信信息(包括服务器信息,实体维护信息和可能的实体内容)。 通信通常发生在TCP连接上,虽然TCP是面向连接的传输层协议,但本身是一个无连接的协议,其无连接性表现在每一次请求和相应完成后,该连接就自动断开,解决此问题的方法能。 够通过在网页中加入刷新机制,使网页不断请求连接服务器。 通信的默认端口是是80,不过其它端口也能够使用。 在互联网或其它网络上,这并不妨碍应用在其它协议的顶端。 仅仅期望可靠的传输,任何能提供这种保证的协议都能够使用。 在基于于协议的客户/服务器数据交换时,当请求产生时,就开始一次通信,过程如下:浏览器提取出URL中的主机后,向DNS发出请求,解析主机名的IP地址;DNS解析地址并将结果返回给浏览器;浏览器向该地址请求建立TCP连接;浏览器发出请求报文;服务器向浏览器发送响应报文,并将指定数据发送给浏览器;断开连接。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 第三章设计思想通过软件需求分析来确定软件系统开发目标、需求规格。 总体设计的任务是解决怎么做,实现将需求规格转换为体系结构并划分程序的模块组成,以及模块间的相互联系。 确定系统的数据结构,即组成系统的元素、程序、文件文档等,但是每一个物理元素依系然是黑盒子状态。 软件结构反映系统中模块的相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。 当数据流图细化到适当的层次,则能够直接从数据流图映射出软件结构。 设计出软件的初步结构以后,应通过模块分解或合并审查,力求降低耦合提高内聚。 模块的划分要符合独立性原则。 模块接口复杂是软件发生错误的一个主要原因,应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。 详细通讯过程见附录。 主程序模块客户连接处理分析客户请求协议发送text文件发送jpeg文件发送gif文件发送html文件发送目录信息发送协议数据头本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图33-1系统结构图主程序:服务端程序开始运行时,主进程就创建一个套接口,并和主机地址及端口绑定到一起,随后置为被动监听状态,等待客户端连接请求的到来。 一旦接收了一个连接,ACCEPT会返回一个新的套接口描述符,主进程则创建一个新的子进程来处理这多个新的连接,这样系统能够同时接受最多5个客户端来的请求。 建立TCP类型SOCKE在在80端口进行监听连接请求。 接收到连接请求将请求传送给连接处理模块处理。 并继续进行监听。 功能分配发送当前目录文件列表信息将服务器当前目录下所有文件的信息发送给客户端信息包括:。 文件名、大小、日期。 发送HTML类型文件将客户请求的HTML类型文件发送给客户。 发送纯文本文件将客户请求的纯文本发送给客户。 发送JPG图像文件将客户请求的JPG图像文件发送给客户。 发送GIF图像文件将客户请求的GIF图像文件发送给客户。 解析客户请求协议头分析客户的请求包括:1.空格处理2.解析客户请求命令3.解析客户请求的资源名4.解析客户请求的资源类型。 客户连接处理解析Referrer和content_length字段值并调用客户请求解析函数。 发送协议数据头根据发送文件类型发送相应的协议头信息。 3功能说明:系统的总入口也是系统的主要控制函数。 分别完成如下功能:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 建立环境设置。 设置信号处理方式。 建立侦听TCP流方式SOCKET并绑定80端口。 建立连接侦听及客户连接处理调用主循环。 于该系统基于TCP/IP的套接口通信,具体的消息处理遵循协议,服务端程序的工作状态如下图。 图图33-3主程序流程图设置信号处理句柄进入根目录客户请求处理设置最大连接数5主程序参数处理建立SOCKET,并绑定到80端口监听客户连接本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图33-2主进程与线程客户请求连接处理模块设计功能说明当用户的请求达到服务端程序的时候,通过客户连接处理模块来初步处理客户的连接请求,并将请求信息传递给客户请求解析函数处理。 算法描述:建立文件描述符读取客户端程序的连接信息获取Refferer字段信息获取内容字长字段信息调用客户请求解析子程序关闭文件流图图33-4客户请求连接处理模块N N-S盒图主进程线程11线程22线程.线程55本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 客户请求解析处理模块设计功能说明用于解析客户的请求并根据请求信息调用相应的函数进行请求处理。 开始对的请求字符串进行处理请求资源在?请求目录?判断请求文件类型送目录信息结束JPEG协议头Image/jpeg GIF协议头:Image/Gif HTML协议头:Text/Html TEXT协议头:Text/Plain发送Index.本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图33-5客户请求解析处理模块的流程图发送协议数据头模块设计功能说明:根据客户浏览器请求的不同参数,发送不同的协议头信息。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 发送成功信息CASE内容类型ttg gj jh h发送纯文本的相应信息发送gif的相应信息发送jpeg的相应信息发送html的相应信息图图33-6协议数据头模块的N NS盒图至此,系统的软件设计部分已经完成,下一阶段的工作就是根据系统的详细设计,实现各模块的编程,以及将各个模块组装成一个完整的系统。 程序设计需求分析嵌入式系统中服务器的实现方法主要有两种:目标嵌入式系统设备使用嵌入式操作用系统和目标嵌入式系统设备不使用操作系统。 本课题采用EOS的服务端功能的程序实现。 4在低端嵌入式设备上实现服务端功能的程序,要根据该系统对服服务的功能需求简化协议的一些机制,在资源有限的情况下设计满足需求的嵌入式服务端程序。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图33-7嵌入式服务端程序的原理需求分析的结果是系统开发的基础,关系到系统开发的整过过程,以及软件的成败和质量。 嵌入式系统的特点决定了系统在开发初期的需求分析过程中就要完成的任务在需求分析阶段需要分析客户需求,包括功能需求、数据流图以及系统地数据要求等。 1、功能要求在嵌入式系统中实现(服务端)的程序,在客户端向服务端发出请求,时将服务器当前目录下所有文件的信息发送给客户端信息包括:文件名、大小、日期;获取指定的文件,并解析文件类型(HTML、TXT、JPG、GIF等文件);括响应客户端程序的要求,析客户的请求将请求信息解析为几个变量包括:请求的发送服务端相应头从标准输入中接受浏览器的字符初始化网络端口把缓冲区中的字符串标记成html将从端口接受的字符串送缓冲区发送html到客户端浏览器结束本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 命令、请求的文件名、请求的文件类型。 2、系统的数据流分析数据流图(Data FlowDiagram,简称DFD)22监听请求客户端浏览器监听请求监听请求监听请求客户端浏览器I资源事事事事请求的本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图33-8系统数据流图、第四章程序实现主进程(服务端程序)开始运行时,主进程就创建一个套接口,并和主机地址绑定到一起,随后置为被动监听状态,等待客户端连接请求的到来。 一旦接收了一个连接,ACCE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论