项目11:基于Windows CE 50的嵌入式Web服务器 (.ppt

项目11:基于Windows CE 50的嵌入式Web服务器 (.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目11:基于Windows CE 50的嵌入式Web服务器 (.ppt

项目11:基于Windows CE 5.0的嵌入式Web服务器 (2) 本节课程主要知识点 Windows CE服务程序 重点和难点 重点 Windows CE服务 难点 服务中的网络服务 Windows CE服务程序 Windows CE服务程序 在设备中,经常需要有一些程序从开机就运行,一直运行到设备关闭为止,在整个设备开机期间不会关闭。 这类程序一般是在系统的后台为用户提供一些服务。 这类程序被称为服务(Service)程序。 Service.exe 在Windows CE中,有许多网络服务器都 是通过服务实现的。如文件服务器、FTP服务器、Telnet服务器、打印服务器及HTTP服务器。 服务管理器是由进程Service.exe来实现的,其工作机制与功能与设备管理器Device.exe非常相似。 Device.exe负责加载所有的驱动程序,Service.exe负责加载所有的服务。 Service的加载 Service.exe是操作系统的一个可行组件,在系统启动时被内核加载。 Service.exe加载前要求Device.exe先行加载。 服务程序的实现 在Windows CE中,实现一个服务程序与实现流式接口驱动程序非常相似,所有有服务程序均以动态链接库提供,并导出其中的相关接口函数。 与流式接口驱动程序类似,服务程序有也一个3字符的Prefix和一个Index,这些信息也在注册表中被设置。 服务的启动 Windows CE的服务有两种启动方式 通过注册表中设置相应的注册表项,系统启动时,让Service.exe自动加载服务。 应用程序使用函数加载服务 服务的自启动 当Windows CE启动时,Service.exe有哪些信誉好的足球投注网站系统注册表中的 HKEY_LOCAL_MACHINE\Service 然后枚举Service下的所有子键,并依次加载所有的服务。 服务的手工加载 应用程序通过服务的API函数动态加载服务程序。 Windows CE提供ActivateService 函数来实现服务的动态加载。 独立服务(Standlone Service) 一般情况下,Service.exe进程负责加载所有的服务。 在一些特殊情况下,可能需要将一个服务由Service.exe进程单独加载,从而实现与其他服务的隔离。 如果服务在Service.exe进程中单独加载,这个服务称为独立服务。 独立服务的特点 独立服务不能被应用程序使用CreatFile 和GetServiceHandle 函数打开。 并不是所有的服务都支持被配置成独立服务,如Web Server。 独立服务独立占用内存的一个Slot,需要统筹考虑Slot资源的调配。 独立服务的实现 要把某一个服务配置成独立服务,只需配置注册表键 HKEY_LOCAL_MACHINE\Service\服务\  下的Context项。 如果Context项设为2,则表明该服务为独立服务。 超级服务(Super Service) 在Windows CE下,许多服务程序都是作为网络服务服务器存在的。这些服务都会侦听某个网络端口,当有客户连接这些端口时,服务程序会给客户提供相应的服务。 这样的服务,Windows CE称之为超级服务。 超级服务与网络服务 超级服务实现了Service.exe对某些端口的监听,当有客户连接时,Service.exe会通知相应的服务程序去处理该请求。 网络服务大都是超级服务,有了超级服务,一些使用网络提供的服务将会大大简化。 超级服务的配置 要把某个服务配置为超级服务,只需在注册表中把 HKEY_LOCAL_MACHINE\Service\服务\  下的Context项设置为1。 当服务管理器在加载该服务时,会使用ServiceIoControl 函数向服务发送相关控制字。 如果服务也支持超级服务,只需在其IOControl 接收该控制字,并返回True,就可以启动超级服务了。 配置端口号 服务管理器自动侦听的端口也可在注册表中配置。 端口号只需在注册表 HKEY_LOCAL_MACHINE\Service\服务\Accept  下面增加相应项即可 服务管理器会读取注册表,然后调用Socket函数侦听相应的端口。 超级服务的过程 当客户端在相关端口有请求时,服务管理器会向服务发出IOCTL_SERVICE_CONNECTION消息,同时把socket的句柄作为参数传递给服务程序。 服务程序对连接进行进一步的控制和操作。 典型的超级服务:Web Server Windows CE的Web Server是Windows IIS的一个子集,提供了将嵌入式设备配置为一个Web Server的功能。 嵌入式Web Server在实际的应用中具有非常实用的意义,

文档评论(0)

资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档