- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于J2MEPush Mail实现
基于J2MEPush Mail实现
[摘要]利用现有的GPRS网络并在功J2ME平台上实现便携式终端到邮件服务器上的双向全新移动Email解决方案。
[关键词]Push HTTP CMWAP ATP MIDP
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0920056-03
一、概述
Push Mail 是利用移动无线通信网络GPRS将邮件主动推送到用户手持终端的全新移动Email技术;是一种安全高效的邮件推送方式;邮箱用户通过Push Email服务,可以随时随地通过GPRS网络使用自己的移动终端设备接收电子邮件。本文讨论了,在基于手机这种便携式终端,在有限的带宽、性能、规范上实现Push Mail系统。
(一)智能手机
在智能手机上可以分为以下操作系统:Symbian、Linux、Win CE、Palm、支持jvm的手机等。以上这些平台具备一个具有开放性的操作系统,在这个操作系统平台上,可以安装更多的应用程序,从而使智能手机的功能可以得到无限的扩充。
(二)网络环境GPRS
GPRS是通用分组无线业务(General Packet Radio Service),是一种新的分组数据承载业务。而目前中国移动运营商提供了2种接入方式:cmwap、cmnet;通常在cmwap方式中GPRS按包月、包流量计费,而且通过GRPS的访问网络有诸多的限制,如只能访问wap网站、只能基于HTTP协议的通信等;而cmnet没有诸如以上的限制,但收费方式是按照流量计费。
二、整体系统架构
(一)概述
该系统采用java作为服务器和j2me客户端的开发语言,Java提供了相关的很多第三方的jar,如:jmail.jar等,能减少更多的开发时间。
目前在j2me平台上对于Push Mail应用,相关的邮件协议如:POP3、SMTP、IMAP等相关的邮件协议都不支持,所以我们必须通过服务器来进行功能的中转和数据的转发,而数据传输有两种方式:Client-Pull、Server-Push,Client-Pull是使用者(Client)向服务器(Server)送出指令,服务器接收后,依照指令的要求将数据回传至使用者;而Server-Push则是使用者可以先行在服务器设定想接收的信息,一旦设定完成后,就不必再经过繁琐的程序来向服务器索取数据,随时都能接收到想要的信息;系统整体架构图-见图1
在基于”1.2网络环境GPRS”的叙述,得知功能须在HTTP的基础上进行开发,那么才有更大的用户群和市场价值。HTTP协议超文本传输协议,该协议是无状态的,每一个请求,服务器变给一个响应;很显然该系统应用在HTTP协议基础上很难满足功能上的需求,并且GPRS是一个低速的网络环境,我们须在此基础上加上流量控制,否而低速客户端会大量的占用服务器的连接,导致平均连接时间变长,所以我们在此HTTP的基础之上加了一个应用层的协议“ATP”,来控制整个应用的流量控制、操作逻辑等。
ATP协议由2部分组成HEADER+BODY,包结构见表1。
表2列出了所有协议字段的解释;
(三)整体开发环境
服务器采用操作系统版本为Linux Fedora6,开发工具为jdk1.5+ant,利用ant实现了夸平台的build.xml脚本,方便的在开发与部署之间的调试。
三、相关核心功能实现
(一)客户端调度中心控制器
客户端运行在智能手机这一平台上,相关的硬件资源是有限的,如果在有限的资源上开辟多个线程的同步执行,那么必导致该智能手机上其它运行的第三方应用程序的响应速度,为了避免以上情况的发生,我们采取了以下方案。通过主控制器来实现任务的调度,保证了在任何时刻,该程序只有1个逻辑业务在进行,其它的逻辑业务进入请求队列中,采用FIFO的方式,进行逻辑作业的提取。采用了java设计模式Singleton、command、Iterator等模式进行调度中心作业的设计。
以下列出了Scheduler.java中的伪代码,该类实现了调度中心的功能,使用设计模式Singleton保证任何此刻,在该应用程序中,只会有一个Scheduler.java实例的存在
public class Scheduler extends Thread
{
private boolean run_flag = true;
private Vector job_tasks;// 所有作业队列
private Vector async_job_tasks; //需要等待同步的作业
您可能关注的文档
最近下载
- 防范青少年药物滥用.pptx VIP
- 2025年广西专业技术人员继续教育公需科目(二)答案.docx VIP
- 执业药师继续教育《泌尿系统感染的药物治疗》习题答案.docx VIP
- 第14课中国共产党诞生 课件.pptx VIP
- 测量系统分析MSA模板(GRR+线性+偏倚+稳定性+计数型)-全公式未加密.xlsx
- 检验科临检组管理程序性SOP文件.doc VIP
- T∕ZZB 1912-2020 多层片式陶瓷电容器电极镍粉.pdf VIP
- 预制菜行业调研分析报告.docx VIP
- 神经内科诊疗指南-技术操作规范.pdf VIP
- APQP4Wind Manual 1.3 APQP4手册1.3 最新标准分享.pdf VIP
原创力文档


文档评论(0)