网站大量收购独家精品文档,联系QQ:2885784924

嵌入式Web服务器应用的关键技术研究_终端与服务器_基础信息化_5070.docVIP

嵌入式Web服务器应用的关键技术研究_终端与服务器_基础信息化_5070.doc

  1. 1、本文档共13页,可阅读全部内容。
  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服务器应用的关键技术研究_终端与服务器_基础信息化_5070

嵌入式Web服务器应用的关键技术研究_终端和服务器_基础信息化 1 前言 ??? 目前,嵌入式Linux在消费类电子以及机顶盒、远程测控系统、数字电视接收机等方面获得广泛的应用。很多产品提供网络接入功能,可通过wifi或者有线的方式接入。例如:家庭智能网关就可以通过远程PC访问上面的网页,通过网页界面来对系统进行设置、控制和监控。目前,主流的实现方式有两种:一种是通过将需要交互的界面用activex来实现,将activex打包成cab文件,通过嵌入在网页里面来实现。这种方式有个缺点,就是客户端必须在微软的平台上使用,如果用Linux的netscape就有问题,更不用说用手机了。还有一种采用cgi来实现,但cgi实现的问题是界面不美观,因为考虑到性能问题,所选择的嵌入式Web服务器不可能支持apache这类复杂的Web服务器,所以cgi不能采用asp、php等实现,只能用C语言实现,而且必须是编译好的。这样,网页就很单调,无法在规定的位置显示结果参数。例如,通过表单提交的参数被Webserver接收后提交给cgi处理,cgi将结果输出到网页,但提交前的网页消失,现在显示的是cgi输出的网页。如何将网页保持为提交前的样式,同时cgi返回的参数只显示在网页固定的位置呢,这时可选择采用javascript来实现(http://developer.mozilla.org/en/docs/About_JavaScript)。cgi可以将结果数据打印到网页的末尾,由网页上的iavascript脚本来提取末尾的参数,并在规定的位置显示。另外,系统需要通过Web页面来设置硬件I/O的状态,例如通过网页点亮一个灯,或者通过网页获取硬件当前检测的A/D转换数据,这时候就需要应用程序和驱动程序配合工作。可以将使用驱动程序的应用程序代码直接放到cgi程序某一段,这样做的缺点是程序的独立性不够,cgi程序一方面要处理接收的参数,另—方面要去和驱动程序接口、业务流程和驱动接口部分紧密偶合,不利于调试。为此,研究了将cgi、驱动程序、使用驱动的应用程序分开的方式,cgi和应用程序之间通过Linux的shell来传递参数的方法。通过实验发现,这种方法能将驱动、应用程序和cgi开发独立开,cgi不用直接和驱动打交道,提高了开发效率。 2 cgi对表单的处理 ??? 首先研究传统的嵌入系统的cgi如何接收网页提交的数据的。假设网页如图1,做个很简单的实验,当用户输入用户名和密码,cgi接收到并重新生成—个页面,页面显示输入的用户名和密码。这里采用的是表单技术(http://www.w3.org/pub/WWW/Protoeols/),先来看以上网页的代码。 图1 登录界面 图2 cgi回送的变量 ??? 这个cgi程序接收网页提交的参数放在cgivars里面,同时将生成—个新的网页并把结果送回远程客户机。由于是新生成的网页,界面和原来的不再一样。 3 Javascript对cgi的改进 ??? 假没有如下的新网页,需要查询嵌入式设备的IP信息,并显示在当前页面,如果采取以上方法就不可行。现在给出网页的主要代码: 图3 ip地址查询 ??? 网页中有一个表单form1,其中有ipaddr,ipmask,gateway,macaddr,dnsl,dns2这些常规IP设置。 ??? body onLoad =“ init() ”用来告诉IE在显示网页前先运行init函数。 script language=“ javascript ”表示采用javascfipt脚本,function init()表示函数名是init,以上表示从接收到的injs字符串数组中取出数据。injs是c矛程序从嵌入式服务器发送过来的。为直观了解以上代码的工作方式,可以把injs数据写在javascript下面来模拟服务器发来的网页,如上面代码粗体字部分。当网页被IE浏览器加载并且还没有开始显示时,先执行onLoad-“init()”,然后在init函数里渎取cgi发来的参数injs,并给表单相应的位置赋值。将以上文件,用IE在本地打开,可以看到数数据。接着研究嵌入式cgi是如何真正返回数据的。首先,cgi中读取整个网页文件发送到远程,这样,用户在IE直接输入http://192.168.12.80/ipsetting.csi就能读取对应的网页,接着在cgi程序的末尾,有如下代码行: ??? 图4 cgi回送IP 4 cgi调用shell环境变量 ??? 以上的cgi是输出的是本地IP信息,但不是从系统运行的环境中获取,是任意给定的。接着需要研究如何通过Linux的shell编程来提取嵌入式设备的IP信息。 ??? 下面就需要从系统的环境中取出。这里只研究最简单的例子,在程序中读取Linu

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档