即时聊天软件的开发与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目即时聊天软件的开发与实现

目录

摘要............................................................... II 1 前言 (1)

1.1 课题选题背景 (1)

1.2即时通信的概念和特点 (1)

1.3即时聊天系统的发展 (2)

2 涉及的相关技术及协议 (2)

2.1 Java语言 (2)

2.2 C/S模式介绍 (3)

2.3 Hibernate框架简介 (4)

3 系统需求分析 (4)

3.1即时聊天消息的一般需求 (4)

3.2 即时消息的协议需求 (5)

3.3 即时消息的安全需求 (5)

3.4 即时信息加密和鉴别 (5)

3.5 即时通讯系统需求 (5)

4 系统设计 (5)

4.1即时聊天系统的实施原理 (6)

4.2软件设计流程 (7)

4.3功能模块划分 (8)

4.4 数据库概要设计 (8)

5 详细设计 (9)

5.1 服务器端的设计与实现 (9)

5.1.2 主服务器类的设计 (9)

5.1.2 登录验证模块 (11)

5.1.3 注册处理模块 (11)

5.2 客户端的设计与实现 (12)

5.2.1 用户注册模块 (12)

5.2.2 用户登录 (13)

5.2.3 在线用户显示设计 (14)

5.2.4 聊天信息发送与接收 (15)

5.3 数据库设计 (16)

6 结论 (17)

参考文献 (19)

附录 (1)

摘要

计算机网络技术高速发展的今天,即时通讯方式日益受到人们的青睐。即时聊天工具在实现传输视频与音频信息,使协作成员可以远距离进行直观、真实的视音交流的同时,利用多媒体的技术,它还可以帮助使用者对工作中各种信息进行处理。

本课题研究的是支持内部网络交流的系统——网络即时通讯系统。该系统使用Java语言进行编程。系统采用C/S结构模式,支持局域网和Internet。该系统采用软件工程的瀑布模型进行开发,分别讨论了系统的需求分析、概要设计、详细设计和编码、以及整个系统的运行和测试。

关键词:即时聊天系统 Java C/S

1 前言

交流对于人类社会及其每个成员都至关重要。直接交流的方式包括语言、文字等,而远程交流还需借助于一些先进的工具如电话、网络等。本课题研究的是支持内部网络交流的系统——网络即时通讯系统。该课题在实施的过程中需要使用Java语言。1.1 课题选题背景

计算机技术、网络技术高速发展的今天,即时通讯方式日益受到人们的青睐。即时通讯工具在实现传输视频与音频信息,使协作成员可以远距离进行直观、真实的视音交流的同时,利用多媒体的技术,它还可以帮助使用者对工作中各种信息进行处理。

大家都知道,网络上常用的即时通讯工具之一有ICQ。其实,ICQ是英文“I seek you”的简称,中文意思是“我找你”。ICQ最大的功能便是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开ICQ,人们就可以随时交流。

目前即时聊天系统种类众多,功能也较为齐全。该课题现在所研究的即时通讯系统,其目标是定位于企业内部网络,解决企业或单位的沟通及协同的问题,提高工作效率。企业内部员工可以利用该通讯系统随时随地发送文字消息、进行多人群聊、消息群发、传送文件、音频视频对话等。系统包括客户端程序和服务器端程序,支持局域网和Internet。企业内部员工之间可以在内部网覆盖的任何地点、任何时间进行即时交流,真正实现企业内部协同工作。使您不必花费大量的时间、金钱聚集到一个地方,通过网络,就能实现面对面的沟通,提高了效率。MSN、QQ等公共消息系统,由于聊天对象及内容的不可控,若在企业内部使用,可能会降低工作效率。而该即时通讯系统将自己的服务器端安装在企业内,并且人员的创建是由系统管理员来完成,因此很好的解决了这个问题。

即时通讯带给了更大的互动性,人们在交流彼此的看法、意见时,发现采用你来我往的方式达到的效果最为明显。这就体现了互动性。通过使用及时通讯系统,大家不需要离开电脑,不需要借助其它额外的工具,就可以在线实时地交流工作。

1.2即时通信的概念和特点

即时通讯(IM)是一个允许两人或多人使用网络即时地传递文字信息、档案、语音与视频交流的终端服务。即时通讯不同于e-mail在于它的交谈是即时的。【1】大部分的即时通讯服务提供了presence awareness的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。在早期的即时通讯程序中,使用者输入的每一个字符都会即时显示在双方的银幕,且每一个字符的删除与修改都会即时的反应在银幕上。这种模式比起使用e-mail更像是电话交谈,充分体现了其实时特性。在现在的即时通讯程序

中,为了画面的完整美观和交流方便,交谈中的另一方通常只会在本地端按下送出键(Enter或是Ctrl+Enter)后才会看到信息。

1.3即时聊天系统的发展

二十世纪七十年代早期,一种较早的即时通讯形式是柏拉图系统(PLATO system)。八十年代,UNIX/Linux的交谈即时信息被广泛的使用于工程师与学术界,九十年代即时通讯更可跨越了操作系统平台交流,1996年11月,首个广泛被非UNIX/Linux使用者用于因特网的即时通讯软件ICQ出现。通常认为ICQ是现在流行使用的即时通讯软件的开山之作。ICQ源于以色列特拉维夫的Mirabils公司。该公司成立于1996年7月,也就是在这个时候,四个月后的1996年11月,互联网上最出名,下载使用人数最多的免费软件ICQ诞生了,她是由几个以色列的年轻人制作的,在无人投资的情况下,他们向全球互联网用户提供免费下载使用,到了1998年,Mirabilis公司的ICQ用户已经发展到1200万人,并以每月100万用户的速度增加。这时候,ICQ公司由于其潜在的巨大商业广告价值,已经成为许多大公司争相购买的对象,1998年ICQ公司将自己开发的软件连同用户一起“卖”给了美国在线(AOL),售价2.87亿美元。据美国在线1999年底称,ICQ使用者已达5000万,其中超过三分之二的使用者居住在美国本土以外的世界各地。ICQ造就的实时通信成了互联网世界中发展最快的一个领域。

2 涉及的相关技术及协议

为了保证课题能正常实施,先来分析一下课题所需要的相关技术和协议。

2.1 Java语言

经过认真的讨论分析,综合各种计算机高级语言的特征和适应范围,最终决定选择纯面向对象的Java语言来完成毕业论文的设计,下面就技术可行性方面,对Java 语言作一简要介绍。

Sun公司的口号就是“网络就是计算机”,Java能使所有东西从桌面计算平稳的转变为基于网络的计算,它是专门为此而建立的,并显然是为了完成这个任务而来的。使用Java语言,可以相对轻松的一天编写一个有条理的网络程序。今天,Java的网络功能正在飞跃发展,不断有新的特性增加到这个有价值的基础上,JavaSoft实验室正在不断努力使Java更加完善。就Java语言的主要特点,本人归纳如下:Java程序设计的开发过程与运行环境Java是解释型的高级编程语言,所以Java 程序的开发通常需要经过编写源程序、编译生成字节码和运行三个过程。这里要提到,Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Java 源程序翻译为JVM可执行代码—字节码。这一编译过程同C/C++的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。

相关文档
最新文档