IM系统的设计与实现.doc
《IM系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《IM系统的设计与实现.doc(33页珍藏版)》请在沃文网上搜索。
1、 IM系统的设计与实现【摘 要】 随着科技的发展,即时通讯在终端平台上暂露头角, 一直以来,我们都在梦想通过手机来网上冲浪,实现在线沟通。所以多服务商也推出了与网络相关的服务,腾讯推出了移动QQ,让我们可以通过手机与QQ上的朋友沟通。IM互动性高于BBS及电子邮件,与电话相比,永远不会遇到忙音,与E-mail相比,实时性好。文章在比较了目前应用比较广泛的开发手机软件的技术和框架后,采用J2ME设计和实现了一种基于终端平台的及时通讯软件,通过JPOLISH实现了信息互发,语音对讲,文件传输等各模块功能。除了基本的弹出式文本、语音交谈功能外还随软件提供了各种协作工具如文件传输, WAP协同浏览,增
2、强了IM的扩展功能,同时会议模式直接面向企业级应用,所以该软件不但为单个用户,还为企业提供了一个便利,建立了一个完整的通讯平台。【关键词】 JPOLISH 即时通讯 传输IM Systems Design and Implementation 【abstract】 With the technical development ,immediate communication in the terminal platform the angle, has been, we all dream of a mobile phone to surf the web, realizes the onli
3、ne communication. So many service providers have also introduced a network-related service, such as the launch of a mobile QQ, so that we can be friends on the phone and QQ to communicate. IM interactive than BBS and e-mail, compared with phone calls will never meet a busy signal, and the e-mail, ti
4、meliness will be good. The article after having compared the present application quite widespread development handset softwares technology and the frame, the design and implementation using j2me terminal platform based on instant messaging software, and information through JPOLISH, voice intercom, f
5、ile transfer or other module functions. In addition to basic pop-up text, voice chat features with the software also offers a variety of collaboration tools such as file transfer, WAP collaborative browsing, enhanced IM extensions, while meeting model directly for enterprise applications, so the sof
6、tware will not only for a single user, but also provides businesses with a convenient, has built a complete communication platform.【Key words】 JPOLISH IM Transfer目 录绪论11选题背景和IM的简介11.1选题背景11.2什么是IM11.3国内外研究现状22应用到的框架和技术及应用22.1J2ME的概念22.2J2ME的架构32.3开发工具32.4CLDC42.5CDC(Connected Device Configuration)52
7、.5.1基础简表52.5.2个人简表52.5.3个人基础简表62.6MIDP62.7JPOLISH的简介72.8JPOLISH的特色72.8.1预处理(Preprocessing)72.8.2手机数据库(Device Database)82.8.3高级UI82.8.4资源文件92.8.5其它92.9SOCKET 传送机制92.9.1SOCKET的形象描述92.9.2开发一个SC模型的基本原理102.10具体应用112.11IM实例解析和功能展示122.12IM功能模块图122.13IM的部署结构和IDE142.13.1工具:142.13.2插件:142.13.3模拟器:142.14IM功能模块
8、描述142.14.1用户登录142.14.2转盘的实现152.14.3CSS样式152.14.4聊天模块162.14.5好友列表162.14.6收件箱提示172.14.7传送附件172.14.8信息发送和拨号及好友的检测172.14.9背景音乐的开关182.14.10语音对讲182.15数据传输所用到的思想和算法192.15.1三个通道的建立202.15.2通道之间的关系202.15.3终端对数据进行的接受处理202.15.4用户与用户的关系222.15.5服务器对数据进行的接受和处理232.16数据库的设计242.16.1数据库版本情况242.17详细数据库表的设计242.17.1表game
9、user 主要字段如下242.17.2表 gameFriendList242.17.3表gameChitchat252.18各表的设计截图252.19数据库关系结构图253作品展示263.1程序运行的截图26结论28参考文献29致 谢30 IV绪论随着科技的发展即时通讯在终端平台上暂露头角,而如今应用于移动平台上效果和热度比起电脑更高。即时通信的确是对企业非常有用的一项技术,它能实现快速人际交流、数据共享,从而提高效率和生产力。然而对于个人即时通信,企业主管们却是又爱又恨。一个显而易见的顾虑是:你没法知道你的属下正在用它做什么,而个人即时通信软件与生俱来的娱乐性,让这一顾虑看上去似乎更有道理。
10、1 选题背景和IM的简介1.1 选题背景1996年11月,ICQ是首个被广泛应用于网络的即时通讯的软体个人对个人的网络聊天从这个时候-即时通讯的时代出现了,信息化程度随着提高QQ,MSN等即时通讯面向全社会,会将与工作无关的人进入办公室,从而影响工作效率;而网人科技客户通即时通讯则是将工作相关的人引入电脑,从而提高工作效率。” 原因很简单,企业即时系统不仅可以使公司内外各个作业流程在电脑上表现出来,还能提高工作效率,简化业务流程。以网人互联客户通系统为例,其所具备的点对点、一点对多点、多点对多点群发消息、文件传输、文件共享、白板交流、协同浏览、在线支付、数据统计、发送手机短信等功能,完全可以帮
11、助企业降低内外交易成本,增进工作效率。而MSN等个人即时通讯系统,则更重视娱乐方面的功能,无法适应企业需求。而且,由于缺乏监督和实名制等手段,个人即时通讯更容易与工作无关的陌生人取得联系。鉴于以上原因手机平台的及时通讯更适合潮流社会的趋势,更适合广大的人群。1.2 什么是IM IM是一种可以让使用者在网络上建立某种私人聊天室的实时通讯服务。大部分的即时通讯服务提供了状态信息的特性显示联络人名单,联络人是否在线及能否与联络人交谈。常IM服务会在使用者通话清单上的某人连上IM时发出信息通知使用者,使用者便可据此与此人透过互联网开始进行实时的通讯。除了文字外,在频宽充足的前提下,大部分IM服务事实上
12、也提供视讯通讯的能力。实时传讯与电子邮件最大的不同在于不用等候,不需要每隔两分钟就按一次“传送与接收”,只要两个人都同时在线,就能像多媒体电话一样,传送文字、档案、声音、影像给对方,只要有网络,无论对方在天涯海角,或是双方隔得多远都没有距离。1.3 国内外研究现状早在上世纪七十年代,国外网络技术发展迅速,为了更加跟进网络发展提出了“即时通讯工具”这一概念,而诸多公司为这一发展提供了前所未有的新起点ICQ,MSN的出现造福并及大的影响到了社会,人与人之间的关系。但国内的发展并不逊色与国外,诸如QQ等工具为提供方便信息人际交流和相关服务更是不可小视。2 应用到的框架和技术及应用2.1 J2ME的概
13、念SUN公司为JAVA定义了3种规范J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:J2ME是一种优化了的语言对小型终端设备提供了JAVA运行环境,例如掌上电话和可视电话、数字机顶盒、汽车导航系统等等。J2ME技术在1999年正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。而J2ME 对于两种类型嵌入式装置的规格,大家可以把Configuration而认为这些规格之中的核心,它定义了装置符合的运算速度、供电范围、存储大小CPU规格等规范,同时也定了一组在这些装置上
14、执行的 Java 程序所能使用的API、这些规范之中所定义的类别API为 Java 标准核心类别库的子集合以及与该型态装置特性相符的扩充类别库。如核心类别库为java.lang.* 、java.io.*、java.util.*,而扩充类别函式库为java.microedition.io.*。从而最新的配置出现了,J2ME 推出了Profile的概念。韩国在这方面技术领先,Profile 是在Configuration 架构上扩展的规格。那为什么会有Profile的概念呢?那是为了要更明确地区分出各种嵌入式设备上一个JAVA软件的发挥的功能和它的生命周期。因此它定义了与特定嵌入式装置非常相关的扩
15、充类别API,Profile 之中所定义的扩充类别函式库是根据底层Configuration 内所定义的核心类别函式库所建立, Java 程序在各种嵌入式装置上的使用者界面该如何呈现就是定义在Profile 里头。182.2 J2ME的架构与J2SE和J2EE做比较的话,J2ME总体的运行环境和目标更加充满优势,为了在达到标准化和兼容性的同时尽量满足不同方面的需求,J2ME的架构分为Configuration、Profile。它们的组合取舍形成了具体的运行环境,如图2.0。 图2.0 j2me架构2.3 开发工具开发Java ME程序一般不需要特别的开发工具, 开发者只需要装上Java SDK
16、 及下载免费的 Sun Java Wireless Toolkit 就可以开始编写Java ME程式,编译及测试, 此外目前主要的IDE(Eclipse 及 NetBeans)都支持 Java ME 的开发,个别的手机开发商如 Nokia及Sony Ericsson 都有自己的SDK, 供开发者在开发出兼容于他们的平台的程序。高级的MIDP应用程序开发工具能够帮助开发人员简化J2ME开发过程,包括Sun提供的官方开发工具WTK和手机厂商提供的专属WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过
17、程。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。目前各大手机厂商往往把WTK经过自身的简化与改装或者在原API上的扩展,推出适合自身产品:a. Sony Ericsson J2ME SDK 2.2.1b. Motorola J2ME SDK 5.1.2c. Nokia J2ME SDK 3.0d. Samsung J2ME SDK2.4 CLDCCLDC包括一个基本的J2ME运行环境,其中包括虚拟机和核心的JAVA类库,所以可以说 CLDC的核心就是虚拟机和核心类库,虚拟机运行在设备的操作系统上,对下层的硬件提供必要的兼容和支持,而类库提供软件的编写需求,和一定的规范,CLDC对小型
18、的配置进行了简化,类库也在J2SE的基础上大大精简,只包含了LANG和UTIL两个包,其中比较经典的VECTOR还是保留了。除此之外引用了一个全新的包MICROEDITION,它包含了所有J2ME开发所要用到的组件。下面简单的介绍一下CLDC的具体规范。CLDC(连接有限设备配置)。使用电池供电。设备性能有限。其中手机属于CLDC类别。上面的说法都是从硬件划分的角度来说明CLDC的,下面从程序员的角度来理解一下CLDC的概念。其实对于程序员来说,CLDC主要包含三个部分:Java虚拟机(又称JVM)。这个是所有Java程序运行的基础。对于手机来说,在手机出厂以前,已经固化在手机中了,出厂了以后
19、就不能进行修改了。CLDC是用来开发在无线设备上运行的应用程序所要用到的一组通用且最小的 API。CLDC 描述了所有无线移动设备所需的一个最小级别的功能集合。CLDC 1.1 是 CLDC 1.0 规范的修订版本,包含很多新增功能(例如浮点和弱引用支持)以及其他增强功能。Java 规范请求 (Java Specification Request, JSR) 30 中详细指定了 CLDC 1.0 的要求。JSR 139 中详细指定了 CLDC 1.1 的要求。 对于 Java ME 平台,CLDC 为移动电话、双向寻呼机以及类似设备定义了基本配置(Java 语言、虚拟机功能和基本类库)。这些设
20、备具有以下特性:总内存量为 128 KB 到 512 KB。具有有限电源,如电池。可以连接到网络。具有相对有限的用户界面,通常只限文本。一套标准的API实现。该标准的API主要包java.io、java.lang、java.util包以及javax.microedition.io包中的部分。这个是规范要求必须实现的API,也固化在手机中,不能修改。本地方法实现。在标准的API中,很多都是接口,这些就要求厂商在手机中提供真实的实现,而且很多本地方法也要求手机厂商进行实现。CLDC由两部分组成,分别是为应用程序提供的最小java语言类库和适合运行在资源受限设备上的虚拟机。CLDC是J2SE的子集,
21、在J2SE中定义的某些方法在CLDC中去掉了,因此开发MIDP应用程序的时候应该主要参考MIDP Java文档而不是J2SE Java文档。2.5 CDC(Connected Device Configuration)CDC采用新型的技术java虚拟机。这种全新的KVM包含了基于PC系统上的虚拟机的所有功能,适用于更大的内存设备。CDC的API比CLDC更加完善,它不仅包括CLDC所有的类和接口还定义了一些全新的规范。具体不同为下,本人列举一部分。(1) 支持浮点数。(2) 支持本地进程。(3) 高级多线程的支持。(4) 文件系统支持。(5) 支持J2SE中的网络编程规范。(6) 支持串行化的
22、类。CDC中的虚拟机称为CVM,它大致可以理解为三个简表:基础简表、个人简表和个人基础简表。CDC定义在JSR 36中。 182.5.1 基础简表基础简表主要在语言基础上扩展了CDC,并没有提供专门的图形UI界面的支持。然而,CDC与基础简表却构成了J2SE1.3的子集。相对扩展的内容为一下:(1)各类支持J2SE大部分功能。(2)增加了其他功能,可以处理压缩包。(3)支持socket和HTTP协议。(4)新增了读者和写者。(5)国际化功能的完善。(6)对代码签名和认证提出了更高的规范。2.5.2 个人简表个人简表定义在JSR 62中,基于CDC和基础简表。不的了的是它开始支持了网页小程序,J
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IM 系统 设计 实现
