(计算机应用技术专业论文)电子邮件终端.pdf_第1页
(计算机应用技术专业论文)电子邮件终端.pdf_第2页
(计算机应用技术专业论文)电子邮件终端.pdf_第3页
(计算机应用技术专业论文)电子邮件终端.pdf_第4页
(计算机应用技术专业论文)电子邮件终端.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)电子邮件终端.pdf.pdf 免费下载

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

文档简介

一 塑矍 摘要 学科专业:计算机应用技术 论文题目: 电子邮件终端 硕士生:刘恒字( 9 8 s 6 5 1 )导师:曾家智 本文首先介绍了本课题的研究背景,接着对整个系统做了个简 单的概述,列举了系统的组成模块。然后介绍了w a p 技术的经典设 计模型以及实现,着重论述了w a p 协议栈的组成和本系统对w a p 协议栈的简化以及介绍了w a pe m a i lg a t e w a y 的实现原理。 接下来,详细论述了一种单片机的自开发方法的原理以及实现方 法,包括其中一些重要的源代码实现,然后是本系统的软件开发语 言k e i lc 5 1 介绍,最后依次介绍了l c d 驱动模块、简单屏幕编辑模 块、键盘驱动模块、汉字输入模块以及通讯模块的硬件原理、软件 设计思想以及重要的代码实现。 关键词:电子邮件终端w a p w a pe m a i lg a t e w a y 单片机 一 垒! ! ! ! 墼! a b s t r a c t m a j o r :c o m p u t e ra p p l i c a t i o nt e c h n o l o g y t i t l e : e m a 订1 r e r m i n a l m a s t e r :l i uh e n g y u ( 9 8 s 6 - 5 1 ) a d v i s o r :p r o fj i a z h iz e n g f i r s t l y , t h ep a p e ri n t r o d u c e st h eb a c k g r o u n do fp r o j e c t , t h e ns i m p l ys u m m a r i z e sa n dl i s t st h em o d u l eo fw h o l e s y s t e m 【1 1t h en e x ts e c t i o n id i s c u s st h ec l a s s i c a lw a pm o d e la n d i m p l e m e n t a n dt h ew a p p r o t o c o ls t a c kp r e d i g e s t e d ,e s p e c i a l l y t h ew a pe - m a i l g a t e w a y s e c o n d l y , id i s s e r t a t et h et h e o r ya n di m p l e m e n tm e t h o do f ak i n do fm c u s e l f - d e v e l o p m e n ti n c l u d i n gs o m ei m p o r t a n t s o u r c ec o d e ,t h e ni n t r o d u c et h ed e v e l o p m e n tl a n g u a g ek e i l c 51a n dt h eh a r d w a r et h e o r y , s o f t w a r ed e s i g no fl c d d r i v i n g m o d u l e ,s a m p l es c r e e ne d i tm o d u l e ,k e y b o a r dd r i v i n gm o d u l e a n dc h i n e s ei n p u tm e t h o d k e y w o r d :e m a i lt e r m i n a l 弭丝p w a pe m a i lg a t e w a y jm c u 2 引言 引言 随着豆联网迅速普及,中国互连网用户迅速增加,但是由于各 种原因,中国家庭的上网方式主要还是通过电脑,电脑普及率不到 2 ,而中国却有近2 亿部固定电话,如何找到一个更简单易用的上 网方式,成了众多业界人士努力的目标。在国外,许多厂商都推出 了各种适合家庭和个人使用的网络通讯信息终端,例如西门予公司 开发出的“电子邮件电话”将常规电话和因特网终端集于一个使用 非常简便的设备上。使用其键盘,用户可以写各种信件,然后通过 因特网向全球发送。其操作方法简单而方便,只需按一个键,用户 即可将信件发出,而收信人数多少不受限,由发信人任意决定。如 果收信人没有电子信箱,电子邮件电话也可以将电子信息发往任一 传真机。当然,它也能够接收、存储、应答、转发并管理来自世界 各地的电子信件。无论何时,只要看一下显示屏,用户便会知道是 否有邮件,从而省去了启动计算机、装载程序、进行上网操作的复 杂程序。该电子邮件电话的屏幕可以显示每行4 0 个字的1 6 行信息。 此外,它还备有一个集成芯片卡读卡机和两个多媒体卡槽,用户可 以根据需要扩充其功能,电子邮件电话还具有常规电话机的各种功 能。另外,象阿尔卡特、康柏电脑、爱立信等世界i t 业的巨人也纷 纷推出类似产品,来抢先占领这一具有巨大经济利益价值的市场。 在国内,这是一个研究的热点,也是终端市场的新宠儿,同时也有 实验性的产品问世,但至少现在还没有形成一个固定通讯终端的热 潮。 w a p 是近两年才新出现的技术,主要是应用在手机上,但是直到 现在w a p 手机也没有进入实用,原因有二,一是复杂的设置,二是 过高的实用费用。实际上,w a p 的本质只是对w e b 的一种简化,它可 以使终端的成本更加的廉价,从技术和应用的角度来说,w a p 完全可 引言 以不局限于无线,通过适当的简化,我们完全可以将w a p 用在有线 p s t n 电话网络上。 在已有的网络通讯终端实现中,由于其价格昂贵,并不很适合中 国市场,其实传统的i n t e m e t 应用最普遍的是h t t p 和e m a i l ,随 着人民的交流的方式越来越多,上网的网络用户越来越多,e m a i l 得到了最广泛的应用,而在日常生活中,人与人之间交流的e m a i l 大多是简短的文字信息,所以本课题所研究的电子邮件终端是一个 利用w a p 技术通过固定电话网络上收发文字电子邮件的设备,基于 的硬件平台是单片机。由于其低廉的价格、使用的方便性必将对人 民的日常交流生活产生影响。 4 第“章系统概述 第一章系统概述 1 、系统实现的基本组成及原理 当今的网络信息终端产品各种各样,比较典型的是p d a 、w a p 手机、掌上电脑、信息终端( 如可以上网的电话) 等,大体上可以 分为有线与无线两种,实现的协议有t c p i p 和w a p 两种,他们都 有一个共同的特点就是基于嵌入式的操作系统,实现的上层应用包 括w e b 、e m a i 以及一些增值服务和个性服务。本系统实现的基本 原理和以上的网络信息终端类似,但是又有一些区别。 1 1 系统基本组成与概要 本系统大体上分为两个部分,一个是e m a i l 终端部分,由于只 是一个发送和接收电子邮件的设备,没有实现其他功能,甚至可以 是半双工的,在这个系统里没有嵌入式操作系统、整个系统的硬件 平台是基于我f 1 自己设计的单片机电路,并用一个内置m o d e m 通过 电话线接口与w a pg a t e w a y 服务器通讯。另一个是w a pe m a i l g a t e w a y 服务器部分,它的功能就是替电子邮件终端完成从i n t e r n e t 。卜支持p o p 3 的邮件服务器上取信,和通过s m t p 服务器来发送邮 件,在e m a i l 终端和i n t e m e t 上的p o p 3 邮件服务器或s m t p 邮件 服务器之间转化w a p 协议和t c p i p 协议,缓存e m a i l ,匹配电子 邮件终端和i n t e m e t 间的速率。由于现在的w a pg a t e w a y 都是商业 产品,并且源码不公开,不过现在l i n u x 的应用逐渐增多,开放源 码的项目也越来越多,所以我们在这个项目里采用的w a pg a t e w a y 是一个基于l i n u ) 【名叫k a n n e l 的著名o p e ns o u r c ew a pa n ds m s g a t e w a y 项目,由于源码开放,我们可以对它进行修改和添加我们 所需要的邮件代理模块以适合整个系统的需要。系统的基本组成如 图i 1 所示: 第一睢系统概述 l e - m a i l p s t n 电话网 w a pe m a i l i n t e m e t p o p 3 、s m t p l 终端1 脚 7 g a t e w a v 1 c p i p 7 e m a i ls e r v e r l 图i - 1 系统组成 e m a i l 终端的硬件平台由8 9 c 5 2 单片机构成微处理器,内部有 3 2 k 程序r o m ,2 5 6 b y t e 的r a m ,另外扩展了3 2 k 的外部r a m 和 3 2 k 的程序r o m ,接了一个1 6 5 5 0u a r t 芯片和o k i 公司的m o d e m 芯片用于通讯,输入输出部分接了一个普通键盘电路和一个l c d 中 文模块电路, 具体的软件功能模块重点由以下模块构成: a ) 简化的w a p 协议( 一个w m l 的编译器和解释器) b ) m o d e m 通讯模块 c ) 屏幕编辑模块 d ) 汉字输入法模块( 第一步只是完成全拼输入) e ) l c d 驱动模块( 1 2 8 * 6 4 点阵,单色) d 键盘驱动模块( 普通键盘,以后改用专用设计键盘) 整个系统的实现基本上采取了类似手机发送短消息或利用w a p 手机收发电子邮件的实现方法一致的菜单驱动方法,即从最顶层的 菜单开始选择,一步步的向下选择功能菜单,最后是完成该功能的 界面具体实现,比如编辑e - m a i l 或显示收到的e - m a i l ,这样做我们 可以把终端软件清晰化、简单化,很适合单片机平台这种单任务的 处理系统。 本系统采用了一个g a 。可编程逻辑阵列器件来实现了本系统的 一些地址和信号逻辑处理,这样既可以简化电路又可以作到保密的 作用,地址定义如下: l c d :0 8 0 0 h o f f f t t 范围任地址外部r a m :1 0 0 0 h 7 f f f i t 键盘:0 7 f f t l外部r o m :8 0 0 0 t i 0 f f f f h 第一章系统概述 1 2 与其他网络信息终端的比较 由于采用的实现方法与其它网络信息终端有许多不同之处,所 以本系统中的电子邮件终端也有着与其它信息终端不同的特点,比 如价格低廉、实用简单、能在具有固定电话的地方使用等。具体的 差别如表1 1 所示: 终端名称接入网操作系统协议硬件平台价格 屯子邮件终端 p s t n 无 ,a p 单片机低 w a p 手机 g s m 嵌入式o s r a p 专用平台较高 家庭信息终端 p s t n 嵌入式o s t c p ,p 专用平台很高 表1 - l 电子邮件终端与其他网络信息终端的比较表 1 ) 、电子邮件终端与w a p 手机应用功能比较 电子邮件终端只实现了e - m a i l 这个广泛被网络用户使用的应 用,而w a p 手机则不仅实现了e m a i l 应用,还实现了w e b 应用, 还有本身具有的移动电话功能,由于应用功能上的差异,导致了如 上表所示的差别,虽然都是实现了w a p 协议,但是电子邮件终端明 显比w a p 手机要简单的多,固定有线网络与无线移动网络也导致了 面向的用户的不一致。 2 ) 、电子邮件终端与家庭信息终端比较 家庭信息终端实现了w e b 、e m a i l 等应用,在专用o s 上实现 了t c p i p 协议栈,正是由于实现的应用功能的完备性,导致了它过 高的价格,对般的中国家庭来说太贵了,中国网络用户还是比较 习惯在p c 上浏览w e b 页面,而不习惯在小屏幕上浏览,不过家庭 信息终端是信息终端发展的趋势。 第二章w a p 技术原理及实现 第二章w a p 技术原理及实现 1 、w a p 的产生与现状 w a p 协议是w a p 论坛开发的开放协议,是针对无线网络环境的 特点而制定的应用协议。w a p 论坛是1 9 9 7 年6 月2 6 日由e r i c s s o n 、 m o t o r o l a 、n o k i a 和p h o n e c o m 四家公司联合发起,目前有超过6 0 0 家公司成为该论坛成员,包括了占有9 5 市场分额的设备制造商和 超过1 亿用户的移动通讯运营商,因此,w a p 协议已经成为事实上 无线移动终端访问i n t e r n e t 的全球标准,它的主要目标是使手机和 其它移动终端能够访问i n t e r n e t 内容及其它数据服务,建立一个能 够运行在不同无线网络技术上的统一无线协议标准,保证根据w a p 创建的内容和应用能够扩展到广泛的无线承载网络和设备类型。 今年以来,随着全球性的i n t e r n e t 和无线移动通讯的持续升 温,特别是在i p 网络即将一统天下的时候,各移动通讯厂商和运营 商开始建造所谓的移动无线i p 网络( m o b i l ew i r e l e s si p ) ,其目 的是使得移动用户能够方便地访问i n t e r n e t 或者企业的i n t r a n e t , 获得所需的信息,w a p 就是这样一个解决方案,它可以解决移动网络 固有的窄带宽、高延迟、连接的稳定性、可用性差等缺点,提供了 一种保证互操作性、可扩展性、高效性、可靠性和安全性的将 i n t e r n e t 和无线数据网络这两种技术完美融合起来解决方案。 2 、经典w a p 设计模型 目前运用在i n t e r n e t 上的w w w 模型是客户端代理程序浏览器通 过向w e b 服务器提交u r l 提出h t m l 页面请求,w e b 服务器用u r 标 示的页面内容响应,浏览器收到页面内容后负责把i i t m l 文本以文本 或图形等表示形式显示出来,浏览器和w w ws e r v e r 之间是典型的 c l i e n t s e r v e r 模式,它们通过基于t o p i p 协议的h t t i ,协议传输 h t m i ,文本或浏览器能解释执行的脚本程序。而w a p 为了将i n t e r n e l 第二章w a p 技术原理及实现 和无线网络完美融合,也为了最大限度的利用现在的i n t e r n e t 的体 系结构,如图2 - i 所示,w a p 采用了以下的模型: m o b i l ee 严6 时r 世w a p矽疗品吨w w w c l i e n t、 g a t e w a y 气s e r v e r w l r e l e s si n t e m e t w a eu s e re n c o d e r s a g e n t l d e c o d e r s c o n t e b t 入一! 。 、。 图2 - 1w a p 设计模型 从图中可以看到,w a p 设计模型和w w w 设计模型不同的是w a p 模型中有一个w a pg a t e w a y ,正是w a pg a t e w a y 的存在,使得无线移 动终端的制造商和内容和服务的营运商在提供运用在w a p 中的无线 设备和内容服务时只需要着重考虑和w a pg a t e w a y 的接口问题,而 不必考虑多种的内容服务形式和多种的无线网络及无线移动终端, 这样无线移动终端可以很容易的通过w a pg a t e w a y 访问大量的内容 和服务,同时内容和服务的提供者也可以建立能被大多数无线移动 终端和无线网络支持的内容和服务,甚至还可以利用成熟的w w wc g i 技术来开发应用服务,同时在安全性方面,w a p 起到了一定的隔离 作用,它的典型功能主要有以下两个: l 、协议网关:把来自w a p 协议栈的请求转换到t c p i p 协议栈 2 、内容的编码和解码:为了减少无线网络的传输量,把在其上 传输的内容都编码成二进制形式。 无线移动终端以二进制编码形式的内容或服务请求通过无线网 络提交给w a pg a t e w a y ,w a pg a t e w a y 解码后提交h t t p 请求给w w w s e r v e r ,w a pg a t e w a y 收到w w ws e r v e r 返回的内容后再以二进制编 码形式通过无线网络返回给无线移动终端。无线移动终端和w a p g a t e w a y 之间是通过w a p 协议栈通讯,而w a pg a t e w a y 与w w ws e r v e r 是通过标准的t c p p 协议栈通讯。 3 、啪协议栈 第二二章w a p 技术原理及实现 w a p 定义了一个可伸缩扩展的协议环境,整个协议站是个分层 设计的结构,结构中的每一层都可以被上层访问,也能够被其他服 务和应用访问。w a p 采用了c t t e n t s e r v e r 网络结构,在c l e n t 端 无线终端设备中安装简单的微浏览器,而将智能处理放在w a p g a t e w a y 上,w a pg a t e w a y 到w k v ws e r v e r 端使用的是目前i n t e r n e t 的t c p 【p 协议栈。整个w a p 协议栈如图2 2 所示: j ;b e a r e r s :g s m 、i s 一1 3 6 、c d | i i a 、p h s 、c d p d 、f i 。e x 、e t cj ! : 图2 2 、w a p 协议栈 w a p 协议能运行在不同的承载服务上,比如短消息服务、电路交 换等,承载服务提供不同的服务质量( o o s ) ,将w a p 的应用与具体 的承载服务分开,使得开发的w a p 应用程序可以在不同的承载服务 上移植,w a p 协议栈也定义了在不同承载服务上开发无线应用的一个 标准。并且w a p 协议栈中的每一层都提供有套接口,外部的应用 程序或服务可以很方便的访问,比如可以构建运行在w a e 上的应用, 也可以直接访问会话层或事务层来构建应用,对那些没有在w a p 体 系结构中定义的应用提供了利用w a p 协议栈的一个简便方法。w a p 协议栈为w a pg a t e w a y 和w a p 的无线终端提供了四种模式的通讯: l 、无连接模式( c o n n e e t i o n l e s sm o d e ) 主要使用w s p 和w d p 2 、无连接的安全服务( c o n n e c t i o n t e s sm o d ew i t hs e e u r i t y ) 主要使用w s p 和w d p ,也用w t l s 来进行数据的加密与验证。 第一二章w a p 技术原理及实现 3 、面向连接的服务( c o n n e c t i o nm o d e ) 使用w s p 、w t p 与w d p 4 、面向连接的安全服务( c o n n e c t i o nm o d ew i t hs e c u r i t y ) 主 要使用w s p 、w t p 与w d p ,也用w t i ,s 来进行数据的加密与验证。 3 1w i r e l e s sa p p l i c a t i o ne n v i r o n m e n t ( w a e ) w a e 是一个基于w w w 与无线网络技术的一个应用环境,目的是为 无线网络运营商和w a p 服务提供商在现在广泛应用的无线载体网络 开展高效率的应用和服务提供一个互操作的环境,由以下几个部分 组成: l 、w i r e l e s sm a r k u pl a n g u a g e ( 聃l ) 是一个针对无线手持终端 局限性而设计的轻量级标记语言,和w w w 服务中的h t m l 类似。 2 、w m l s c r i p t 是一个轻量级的脚本语言,和w w w 服务中的 j a v a s c r i p t 类似。 3 、w i r e l e s st e l e p h o n ya p p t i c a t i o n ( w t a ,w t m ) 是支持传统 电话服务的接口,w t a 提供了利用w a p 创建电话服务的方法。 4 、一套定义好的数据内容格式,包括图象、电话本记录和日历 信息等。 为了利用以上的功能,在w a pc l i e n t 端有两类用户代理 ( u s e r a g e n t ) :w m l 用户代理和w t a 用户代理,w m l 用户代理主要是 解释w m l 和w m l s c r i p t ,w t a 用户代理是在w m i 。用户代理的基础上扩 展功能来满足电话服务的特殊要求。 3 2w i r e l e s ss e s s i o np r o t o c o l ( w s p ) w s p 对w a p 的w a e 提供了两种会话服务,一个是建立在w t p 层上 面向连接的服务,一个是建立在安全或不安全的w d p 层上的非连接 服务。该层的协议的主要目的是对底带宽、商延迟的无线载体网络 进行优化。目前的w s p 提供适合浏览应用的服务,它相当于一个用 在无线网的二进制的h t t p1 1 协议,它的特性有:保持艮时间会话 的状态、会话的暂停和恢复、内容的p u s h 操作、协议能力的协商等。 它还对无线网络的局限性做了优化,可以让w a pc i i e n t 通过w a p p r o x y 直接连到标准的h t ,r p 服务器上。 第:簟w a p 技术原理及实现 3 3w i r e l e s st r a n s a c t i o np r o t o c o l ( w t p ) w t p 负责控制发送和接受信息,提供可靠的通讯路径,保证不重 复接收数据,并要求重发丢失的数据,能在安全或不安全的数据报 网络上提供三种事务服务: t 、无结果信息不可靠的发送服务,不可靠的数据包服务,接收 者不确认,发送者不重发。 2 、无结果信息可靠的发送服务,可靠的数据包服务,接收者必 须确认,否则发送者将重发。 3 、可靠的发送服务,基本的触发响应事务服务,接受者将结 果返回发送者,发送者接受到结果后必须进行确认。 3 4w i r e l e s st r a n s p o r tl a y e rs e c u r i t y ( w r t l s ) w t l s 是基于t l s 的安全协议,目的是在w a pc ii e l l t 和w a pp r o x y 之间提供安全传输。w t l s 是可选的,能够在无连接和面向连接两种 模式下使用,运行在w d p 协议之上,具有以下特性: l 、数据完整性:使用信息认证码保证终端和应用服务器之间传 送的数据不被更改和损坏。 2 、私密性:使用加密保证终端和应用服务器之间传送的数据的 保密。 3 、认证:使用数字证书技术提供终端和应用服务器之间的认证。 4 、拒绝服务的保护:拒绝反复出现或没有经过验证的数据,对 典型的拒绝服务类型的攻击数据的包头有记录,保证上层协 议的安全。 3 5w i r e l e s sd a t a g r a mp r o t o c o l ( w d p ) w d p 协议上w a p 协议栈的基础,它为上层协议提供一致的接口, 通过对下层承载服务进行传输层适配来保证w a p 应用和承载服务无 关。如果w a p 运行在支持i p 协议的承载服务之上,就不需要w d p , 而是直接使用u d p 协议,只有在使用不支持i p 协议的承载服务( 如 g s ms 骼) 时,才使用w d p 。为了报告及诊断等目的,w a p 在w d p 层 第二章w a p 技术原理及实现 提供了一个可选的错误报告协议w c m p ( w i r e l e s sc o n t r o lm e s s a g e p r o t o c 0 1 ) ,可以在w a p 运行在不支持i p 的承载服务上使用,其作 用类似于i c m p ( 在u d p 时使用i c m p ) 。 4 、本系统对w a p 的简化与基本实现 w a p 协议实质上是对h t t p 协议的一种简化,它的指定与它应用 在无线移动网络有很大的关系,在w a p 协议栈中,w d p 、w t l s 、w s p 等都是为了保证上层w a e 层中的w b x m l 的正确传送,使其能在低带 宽、高延迟、干扰的情况也能保证上层的w e b 、e - m a i l 等应用。本 系统的应用只有e - m a i l ,没有实现w e b 应用,固定有线电话网络的 带宽和稳定性都远远高于无线移动网络,所以,我们可以对w a p 进 行简化,只实现w a e 层,把w d p 、w t l s 、w s p 层都简化掉,具体讲就 是一个w m l 的微浏览器,电子邮件终端发送电子时,以w b x m l 格式 编码,然后通过固定电话网络发送给w a pe - m a i lg a t e w a y ,w a p e - m a i lg a t e w a y 接到电子邮件终端发送的w b l m l 信息后,进行解码 后向相应的p o p 3 或s m t p 邮件服务器发起t c p i p 连接,处于 i n t e r n e t 上的邮件服务器返回响应信息给w a pe - m a i 1g a t e w a y ,w a p e - m a i lg a t e w a y 再把该信息以w b x y l 的格式通过固定电话网络传回 电子邮件终端,电子邮件终端上的w m l 浏览器解析w b x m l 信息为可 以在屏幕上看懂的文字信息。同时,这种方法也为以后实现w e b 应 用奠定了基础。每个电子邮件终端用户在第一次使用前必须在w a p e - m a i1g a t e w a y 服务器里登记它所要发送或接受的所有e - m a i1 邮箱 列表,并把用户的私人信息都存放在数据库中,以后每次拨通服务 器,在经过认证后,w a pe - m a i1g a t e w a y 服务器回送一个含有该用 户的所有邮箱列表以w m l 表示的页面,通过该页面,电子邮件终端 用户可以进行下一步的操作。 4 iw m l 基本概述 w m l 是w a p 定义的一种x m i 文档类型,它以h t m l 和h d m l 为基 础,针对无线网络和移动终端的特点做了简化和优化,因此,从语 法、语义到文档结构都与h t m l 非常相似。在w a p 中,一个w m i 。文 第:二章w a p 技术原理及实现 档称为一个“d e c k ”,一个“d e c k ”内包含若干个“c a r d ”, “c a r d ”是用户浏览和交互的单元,包含了呈现给用户的信息以及 用于收集用户输入的指令。从逻辑结构来看,w m l 文档由可嵌套的元 素( e 1 e m e n t ) 组成,元素内可包含若干其他元素作为其内容,元素 可以有自己的属性。整个w m l 文档可以看做是以元素为结点、以元 素为根结点而构成的一棵树。以下为一个w m l 文档示例,图2 - 3 为 其树型结构。 ( c a r di d :”c a r d l ( d o t y p e = o p t i o n s ”l a b e l = ”n e x t ”n a m e = 。 ( g oh r e f = # c a r d 2 n ( p ) g ot o t h ef l e x tc a r d ( c a r d ) 注;p c d a t a 为字符串数据类型 图2 - 3w m l 文档简单树型结构 除了可以定义信息的显示格式和浏览动作外,w m l 还能支持一定 程度的交互能力,这是通过变量设置和变量替换来实现的。在用户 代理方显示和执行w m l 文档时,可以通过用户输入或其他方式改变 w m l 文档中变量的值,使对于不同的用户输入,同样的w m l 文档表现 出不同的行为。 4 2w b x m l 基本概述 w b x m l 规范中定义了x m l 的二进制表示格式。使用w b x m l 格式 对w l i 文档内容和结构进行编码,可以做到在不丢失信息的功能和 语义的情况下减少在无线信道上传输的数据量,使信息传输更高效。 第二章w a p 技术原理及实现 w b x m l 文档由w b x m l 头、字符串表和w b x m l 体组成,如图2 4 所示。 w b x m l 头字符串表w b x m l 体 图2 - 4w b x m l 结构 其中,w b x m l 头包括版本号、文档公共标识符、字符编码方式等 信息。字符串表由表长度和字符串编码构成,存放那些有可能在w m l 文档中多次出现的字符串。在w b x m l 体中如需要引用字符串表中的 某个字符串,以该字符串的首字节在表中的偏移量来编码,从而减 少了传输的字节数。w b x m l 体中包含了w 札文档中元素及其属性的 二进制编码,对于w m l 中的所有元素、属性名及部分属性值,在w b x m l 中定义了与之相对应的二进制表示,这样,只需一个字节即可表示 w m l 文档中( 文本形式) 需要多个字符才能表示的信息,从而大幅提 高了编码效率。 4 3w m l 浏览器的实现 w m l 编码器是实现w m l 浏览器的关键部分,一个w 浏览 器就是一个w m l 编码器加上显示输出部分与键盘输入部分,w ! v i l 编码器同时w a pg a t e w a y 的必需部分。 1 ) 、w m l 编码器的实现方式 w i v l l 编码器对输入的w m l 文档进行解析,生成w b ) g m l 格 式的字节流并输出。有多种方式可用于实现该功能。一般而言,对 x m l 文档的解析可以采用两种方式实现( w m l 也是一种x m l 文 档) : l 、基于事件的解析方式即通过判断元素的开始和结束符,直 接生成相应的输出内容。 2 、基于树的解析方式整个过程可以分解为两个步骤,相应的 实现也可以分为前端和后端两个部件。前端对输入的x v i l 文档做语 笫二话w a p 技术原理及实现 法分析,并生成一棵语法树( 一般由一组定义良好的对象组成,由 对象间的联系来表示树型结构,如w 3 c 组织定义的d o m 对象) , 表示x m l 文档的结构和内容;后端遍历语法树,对于每个语法结点 生成相应的输出内容。 与基于事件的解析方式相比,基于树的解析方式结构更加清晰, 对x m l 文档的语法检查也更加严格和完善。前后端结构提供了更大 的灵活性,更易于软件重用,从而提高开发效率,降低开发成本。 然而,由于需要生成语法树这个中间结果,一般来说,这种方式需 要占用更多的资源,效率也较低。 考虑到w a p 网关需要同时为众多移动终端提供服务,对性能要 求较高,另外,移动终端上的w i v i l 用户代理一般具有较好的容错 性,如果某个元素有语法错误,往往可以忽略该元素而不影响整个 文档的显示,出于对提高处理效率,减轻网关负荷的考虑,w m l 编 码器中没有必要做过于复杂和严格的语法检查,因此,我们在w m l 编码器中采用了“基于事件”这种更节省资源、效率更高的实现方式。 2 ) 、w m l 编码器的设计与实现 根据对w m l 文档进行处理并生成w b x m l 字节流的处理过程,可 将w m l 编码器分成以下三个功能模块: 预处理模块删除输入w m i 。文档中的回车、制表符以及多余空格 等:删除注释元素;删除w m l 元素之前和之后的字符;初步语法检 查( 检查标记开始符与标记结束符是否相等) ;编码字符集转换。 预处理后的w m l 文档供进一步处理。 编译模块根据w m l 文档结构和语法规则,对预处理后的w m l 文 档进行编译,解析出元素、属性、变量等各语法单元,根据w b x m l 语法舰则以及w m i 。到w b x m 。的映射舰则,生成w b x m l 字节流片段, 同时,生成字符串表。其中,将文档中出现的变量的变量名写入字 符串表中,文档中出现变量名时都按对字符串表的引用处理,填入 变量名首字节在字符串表中的偏移垦。 第二:章w a p 技术原理及实现 w b x m l 字节流输出模块将w b x m l 头、字符串表和编译模块生成 的w b x m l 字节流片段装配成完整的w b x m l 文档,并计算出其长度, 作为w m l 编码器的输出,交由调用模块处理。 3 ) 、w m l 编码器中对中文信息的支持 w a p 规范规定w a p 应用应能支持多种语言和字符集。在国内,支 持中文信息更是w a p 服务能够推出和发展的前提条件。 当前,与简体中文编码相关的字符集标准主要有g b 一2 3 1 2 - 8 0 ( 国标码) 、u n i c o d e 和u t f - 8 三种。在前两种字符集中,每个汉字 字符都以两个字节表示,但国标码和u n i c o d e 码之间并无简单的映 射算法,而且u n i c o d e 除了中文外,还可表示其他字符,每个字符 都用两个字节表示。u t f 一8 是一种u n i c o d e 的转换格式,实现从 u n c o d e 到u t f 一8 的转换存在着简单的算法,一个汉字字符在u t f - 8 中需要用三个字节来表示,但对于7 位0 s a s c i i 字符( 最高位为0 ) 来说,u t f - 8 仅用一个字节就可表示,且其值与u s a s c i i 字符的值 相同。与7 位u s a s c 【i 字符兼容,这也是在很多场合下使用u t f - 8 的原因。因此,我们的w m l 编码器在将输入的w m l 文档编码为w b x m l 字节流的过程中,将字符串编码统一转换为u t f 一8 格式,以确保所 有移动终端都可以正确解释和显示。 然而,目前的一些w a p 网关对中文信息的支持不够。为向终端 用户提供中文信息,w a p 内容提供商不得不将中文信息预先编码为 u n c o d e 码,并以数字实体的方式存放在w m l 文档中。这种方式不具 有开放性和标准性,不能保证对实体的正确处理。作为一个实用的 w a p 网关产品,必须能与已有的w a p 应用集成,实现与其他产品的互 操作,因此,在我们的w m l 编码器中针对以上情况做了特殊处理: 对于一个实体,判断它是否是一个汉字的州 c o d e 编码,如是,则 将其转换成u t f 一8 格式编码的普通汉字字符。这样就不仅可处理普 通的文本形式的w m i 。文档,还可处理现有系统中特殊的w m 。文档。 第二章w a p 技术原理及实现 4 ) 、重要的结构定义 w m l i n a r y _ t 结构定义了在电子邮件终端和w a pe - m a i l g a t e w a y 之间传送的w b x m l 文档的数据的组成结构,w m l 浏览器解释 收到的w b x m l 数据,然后在电子邮件终端上显示,根据用户的下一 步动作,浏览器把服务请求编码成w b l m l 数据发送到w a pe - m a i l g a t e w a y 。在该结构定义中,l i s t 是一个定义w m l 中的标签或一些属 性的结构表,o c t s t r 是一个表示w b x m l 体数据的结构,可以如下定 义该结构: t y p e d e fs t r u c t 十w b x m l 的结构定义 u n s i g n e dc h a rw b x m l v e r s i o n : 版本信息 u n s i g n e dc h a rw m l - p u b li c i d : i d 标示 u n s i g n e dl o n gc h a r a c t e r s e t : 字符集 u n s i g n e dl o n gs t r i n g t a b l e l e n g t h : 标签或属性表长度 l i s ts t r i n g t a b l e : 丰字符串列表$ o c t s t rw b x m l s t r i n g :木w b x m i 。文档数据 w m lb i n a r yt : 5 ) 、重要函数定义 w m l 文档分析函数,包括了在w m l 文档中各种标签和属性、文本 表示方法, i n t p a r s e d o c u m e n t ( x m l d o c p t rd o c u m e n t ,o c t s t r * c h a r s e t , w m l b in a r y t * * w b x m l ) : i n t p a r s e n o d e ( x m l n o d e p t rn o d e ,w m l b i n a r y t j 唧b x m l ) : i n t p a r s ee l e m e n t ( x m l n o d e p t rn o d e ,w m l - b i n a r y t * * w b x m l ) : in tp a r s e a t t r i b u t e ( x m l a t t r p t ra t t r ,w m l b i n a r y t * * w b x m l ) : i n tp a r s e t e x t ( x m l n o d e p t rn o d e ,w m l b i n a r y t * * w b x m l ) : in t p a r s e c d a t a ( x m l n o d e p t rn o d e ,w m i b i n a r y t * * w b x m l ) : i n lp a r s e c h a r s e t ( o c t s t r * c h a r s e t ,w m i b i n a r y t * * w b x m l ) : i n tp a r s e o c t e t s t r i n g ( o c t s t r * o s t r ,w m l b i n a r y t * * w b x m l ) : 第二章w a p 技术原理及实观 字符串列表函数,用于添加和删除字符串列表元素 s t r i n g _ t a b l e _ t s t r t a b l ec r e a t e ( i n to f f s e t ,o c t s t r * o s t r ) v o i ds t r t a b l e d e s t r o y ( s t r i n g t a b l e _ t * n o d e ) : s t r t a b l ep r o p t * s t r i n g t a b l e _ p r o p c r e a t e ( o c t s t r * o s t r ) : v o i ds t r t a b l ep r o p d e s t r o y ( s t r i n g t a b l e _ p r o p t * n o d e ) : v o i ds t r t a b l e _ b u il d ( x m l n o d e p t rn o d e ,w m l b i n a r y t * * w b x m l ) v o i ds t r t a b l e c o li s t r i n g s ( x m l n o d e p t rn o d e ,l i s t * s t r i n g s ) l j s t * s t rt a b l e _ c o l l e c t w o r d s ( l i s t * s t r i n g s ) ; l i s t * s t r t a b l e s o r t l i s t ( l i s t * s t a r t ) : l i s t s t r t a b l e a d d ( l i s t * s o r t e d ,w m l b i n a r y t * * w b x m l ) : h ) n gs t r t a b l e a d d ( o c t s t r * o s t r ,w m 一b i n a r y t * * w b x m l ) : v o i ds t r t a b l e a p p l y ( o c t s t r * o s t r ,w m l b i n a r y t 术w b x m l ) : v o i ds t r t a b l e o u t p u t ( o c t s t r * o s t r ,w m l b i n a r y t * * w b x m l ) w b x m l 数据结构操作函数,包括创建、删除、修改 w m l b i n a r y t * w m l b i n a r y c r e a t e ( v

温馨提示

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

评论

0/150

提交评论