基于java聊天室的设计与实现(编辑修改稿)内容摘要:

IRC( Inter Relay Chat),但是可惜的是它仅能单纯的使用文字、符号的方式通过互 联网进行交谈和沟通。 随着互连网变得高度发达,即时通讯也变得远不仅仅是 聊天这么简单,自 从 1996 年第一个 IM 产品 ICQ 发明后, IM 的技术和功能也开始基本成型,语音、视频、文件共享、短信发送等高级信息交换功能都可以在 IM 工具上实现,于是功能强大的 IM 软件便足以搭建一个完整的通信交流平台。 目前即时通讯、 Twitter 受宠电子邮件过气最具代表性的几款的 IM 通讯软件有 MSN、 Google Talk、 Yahoo、 Messenge 腾讯 等。 即时通讯技术( IM)支持用户在线实时交谈。 如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并 发送信息时 让交谈双方都看到交谈的内容。 大多数常用的即时通讯发送程序都会提供各种各样的功能。 IM 软件的历史并不久远,但是当时它一诞生,就立即受到许许多多的网民的喜爱和青睐,并且迅速的风靡全世界。 而在它的发展史上,以色列人所作出的贡献是不可忽略的。 在 1996 年 7 月四位以色列年轻人共同成立了 Mirabilis 公司,并且于同年 11 月推出了全世 界第一个即时通讯软件 ICQ,即“ I Seek You”,意为“我在找你”,简称就为 ICQ 了。 直到现在, ICQ 已经推出了它的 2020a 版本,在全球即时通讯市场上占有非常重要的地位。 同时, ICQ 仍然存在一些局限性。 一是英文界面,二是在使用操作上有相当的困难,这使得 ICQ 在国内使用的范围虽然也比较广,但始终不是特别普及和推广,大多局限于“网虫”级别的高手里。 目前,国内最为流行的即时通讯软件是 OICQ(简称 )。 腾讯 以良好的中文1 引言 2 界面和不断增强的功能形成了一定的 网络文化。 由于当时这种需要随时在网上运行的聊 天工具一直受制于互联网的拨号上网,这导致 用户数一增加就要不断的扩充服务器,客观上来说,电信运营商对宽带投入的大幅增长导致互联网的更加普及,在某种意义上说,这是即时通讯繁荣的物质基础。 Messenger 虽然出道较晚,但依托微软的强大背景,实力也不可小视。 作为 Windows XP 的一部分, Messenger 整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。 它的令人耳目一新的中文界面和注册方式,连同它强大的功能,着实吸引了众多的眼球的注视。 目的和意 义 目的: 通过 Java 的手段来 模仿 ,设计一个用于局域网的即时通讯工具,使其具有一般的即时通讯工具具有的功能。 如注册、登陆、查找好友、 实现 即时消息 的 发送与接收,可多人会话, 并且可通过 统一的消息管理器管理 , 服务端还需实现配置文件设置、用户管理、日志显示的功能。 并且可以完成在学校的范围搭建一个可以供老师及学生相互交流及联系的平台。 学生与学生之间不必再通过互联网或手机等方式来实现相互之间的通信,完全可以通过 Java 中的通信功能进行联系。 老师可以通过 Java 向同学们发送及时的信息如学院的通知、考试 通知、成绩通告,及时掌握学生的动态,提供必要的帮助。 这就有效地解决老师与老师之间的,老师与学生之间的,学生与学生之间的通讯问题。 通过课题的设计对从而使我们对 Java 的开发背景有更加深刻的认识,同时可更加熟练的应用 Java 相关的知识,学会理论联系实践用知识去解决现实生活当中的问题。 意义 : 网络聊天室是一项应用广泛,并且实用性强的一个应用,虽然其功能简单,但是在其开发技术和过程中,能够充分学习和使用 Java 的技术,如:开发各界面(登入、注册、聊天 等界面)使用 Swing 组件技术,实现网络的功能使用 Socket/Server Socket 技术,实现数据的保存 ,并且在开发过程当中,能充分的使用和体会面向对象技术的原理和方法。 通过对该项目的设计以开发可以使自己在 Java 技术方面得到全面应用,使自己项目开发能力的一个很好体现。 并且 对 Java 有更进一步的认识,充分理解和掌握 Java 在现实生活中的应用。 将开发出来的作品运用到实际当中,如学校,企业等其他任何需要的地方。 使人们之间的交流和沟通更加的多元化,也使信息的传递更加快捷和有效。 在设计和开发的过程中不断跟踪国内外最新的技术和开发模式,即时了解和掌握流行的即时通讯 机制并且应用到实践过程中,极大的提高自己的设计和开发软件的积极性。 即时通讯的出现改变了人们的沟通方式和交友文化,大大扩展了个人生活交流 的空间。 基于 JAVA 聊天室的设计与开发 3 2 项目开发工具和技术选择 开发工具 Java 简介 Java 最早大概可追溯至 1991 年四月份, Sun 的绿色计划 (Green Project)开始着手于发展消费性电子产品 (Consumer Electronics),所使用的语言是 C、 C++、及 Oak (为 Java语言的前身 ),后因语言本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标, 再加上网络的兴起,绿色计划也因此而改变发展的方向,最终导致 Java的产生。 Java 是一种简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程的、动态的语言。 Java 是一种软件技术,是一种由美国 Sun 计算机公司 (Sun Microsystems, Inc.)所研究而成的语言;是一种为 Inter 发展的计算机语言;是一种使网页 (Web Page)产生生动活泼画面的语言;是一种使网页由静态转变为动态的 一种 语言;是一种语言,用以产生小应用程序 (Applet(s));是一种简化的 C++语言是一种安全 的语言,具有阻绝计算机病毒传输的功能;是一种将安全性 (Security)列为第一优先考虑的语言;是一种使用者不需花费很多时间学习的语言;是一种突破用户端机器环境和 CPU 结构的语言;是一种 写一次,即可在任何机器上执行 的语言是有史以来,第一套 允使用者将应用程序 (Applications)通过 Inter 从远端的服务器 (Remote Server)传输到本地端的机器上 (Local Machine)并执行;是一种应用程序提供者不需要知道使用者的计算机硬件 (如: Sun, Intel, 或 Mac 等 )与软件 (如: SW UNIX, MAC O/S, Windows, 或 NT 等 )环境的语言。 开发工具 Java 的开发工具很多,而且各有优缺点, Eclipse 是一个开放可扩展的集成开发环境 (IDE)。 它不仅可以用于 Java 的开发,通过开发插件,它可以构建其他的开发工具。 Eclipse 是开放源代码的项目,并可以免费下载。 支持最新的 Java 标准,并且缩短了开发周期。 一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是 Eclipse 一直是广大程序员最喜爱的 Java 开发工具的原因之一。 Eclipse 的可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。 用户可以在集成开发环境中创建工程和打开工程,建立、打开和编辑文件,并可以编译、运行和调试应用程序。 可以说在 Eclipse 集成开发环境中开发 Java 程序,快速而且高效。 其主要特点如下: (1)开放的可扩展的 IDE 2 项目开发工具和技术选择 4 (2)成功的底层图形界面 API (3)强大的插件加载功能 (4)可以通过导入一些 CVS 相关的插件来实现版本管理的便易性 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 但 就其本身而言,它只是一个框架和一组 服务,用于通过插件组件构建开发环境。 然而 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 Eclipse同时 还包括插件开发环境( Plugin Development Environment, PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。 专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。 它主要由 Eclipse 项目、 Eclipse 工具项目和 Eclipse 技术项目三个项目组成,具体包括四个部分组成 —— Eclipse Platform、 JDT、 CDT 和 PDE。 JDT 支持 Java 开发、 CDT 支持 C开发、 PDE 用来支持插件开发, Eclipse Platform 则是一个开放的可扩展 IDE,提供了一个通用的开发平台。 它提供建造块和构造并运行集成软件开发工具的基础。 Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 技术选择 C/S 结构 C/S 结构 软件(即客户机 /服务器模式)分为客户机和服务器两层,客户机 /服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。 客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。 C/S 结构的优势: (1)应用服务器运行数据负荷较轻。 最简单的 C/S 体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序; (2)数 据的储存管理功能较为透明。 C/S 结构的劣势: (1)高昂的维护成本且投资大。 首先,采用 C/S 架构,要选择适当的数据库平台来实现数据库数据的真正 “ 统一 ” ,使分布于两地的数据同步完全交由数据库系统去管理; (2)传统的 C/S 结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。 Java Socket 技术 本课题选择了 Java Socket 技术开发网络聊天室。 什么是 Socket? Socket 是一种用于表达两台机器之间连接“终端”的软件抽象。 对于一个给定的连接,在每台机器上都基于 JAVA 聊天室的设计与开发 5 有一个 Socket,你可以想象一个虚拟的 电缆 工作在两台机器之间,“电缆”插在两台机器的 Socket 上。 当然,物理硬件和两台机器之间的“电缆”这些连接装置都是未知的,抽象的所有目的就是为了让我们不必了解更多的细节。 简单的说,一台计算机上的Socket 同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。 当你发送数据时, TCP/IP 协议栈的每一层都给你的数据里添加适当的报头。 有个好消息是 Java 语言隐藏了所有这些细节,这也是为什么他们有时被叫做“ 流Socket”。 思考一下 Socket 像电话听筒一样在电话的任意一端 ,你和我通过一个专门的信道来进行通话和接听。 会话将一直进行下去直到我们决定挂断电话(除非我们使 用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。 如果你需要在两台机器之间进行通讯而不使用高级机制像 ORBS(以及 CORBA, RMI, IIOP 等等), Socket比较适合你。 Socket 的底层机制则相当棘手。 幸运的是 ,Java 平台给我们一些虽然简单但是相当强大的高层抽象以至于我们创建和使用 Socket 更加容易一些。 3 需求分析 6 3 需求分析 项目概述 产品描述 人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。 一个操作简单、界面友好、运行稳定的网 络聊天室对于小型局域网内的用户可以起到很好的交流作用。 本聊天室 就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过网上聊天室将自己融入整个主流社会中。 因此,在网上聊天室这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知识和更多的阅历。 该小聊天室是为许多喜爱上网聊天 的朋友开发设计的。 和许多大型的网络聊天室相比该小聊天 室比较简单,但能实现聊天的基本功能,点对点聊天等,基于时间和技术的原因,很遗憾传送文件的功能尚未实现。 本聊天室主 要由注册界面、登录界面、聊天室界面、 功能设置界面等构成。 整个设计简洁明了、实用,使用简单。 图 31 客户端结构 图 客户端 注册 登录 主界面 聊天 基于 JAVA 聊天室的设计与开发 7 图 32 服务器端结构 图 产品功能 本项目具有以下主要功能: 客户端: (1)用户注册功能 : 实现用户的登入 ID 注册和个人信息,并存入服务器数据库中。 (2)用户登入功能: 实现合法注册用户的登入。 (3)聊天功能: 实 现用户和在线的其他用户一对一的聊天方式。 (4)发送表情和设置聊天内容字体,并可以设置字体颜色和背景色等。 服务端: (1)可以不断的监听客户端请求 (2)显示。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。