JAVA聊天室课程设计报告含源代码压缩文件_第1页
JAVA聊天室课程设计报告含源代码压缩文件_第2页
JAVA聊天室课程设计报告含源代码压缩文件_第3页
JAVA聊天室课程设计报告含源代码压缩文件_第4页
JAVA聊天室课程设计报告含源代码压缩文件_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

1、京晓庄学JAVA 程序设计课程设计报告题目:Java聊天室的设计与实现姓名:戴佳伟学号:班级:14软件工程3班指导教师:王峥完成时间成绩:信息工程学院2016年6月目录Java 聊天室的设计与实现引言Java聊天室开发背景在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、MSN,网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个有简单聊天功能的网络聊天程序;而且通过制作该程序还能更好的学习网络软件编程知识。本程序设计简单可以实现在同一局域网的聊天, 程序可以自动扫描已经上线的用户, 上线用户 可在同一聊天界面中实现群聊。如果需要

2、与其中的用户进行交谈,则只需双击右侧用户列表,读取 对方 IP 地址,便可在下面的输入框内输入信息进行发送,实现一对一私聊功能。1.1Java聊天室开发的目的和意义目的:(1)理解进程消息通信的概念,如何实现两个创建进程之间的数据传递。(2)理解进程共享变量的进程通信。(3)熟悉并掌握 java 语言的代码编写(4)熟练使用开发工具 Eclipse(5)实现聊天室的一些基本功能意义:(1)实现局域网中的信息交互,界面尽量人性化且美观,让用户便于接受( 2)用户及时获取自己想要的信息、促进交谈( 3)异常处理,对于用户错误的操作使用程序会有提示消息( 4)前期仅实现其基本雏形,后期可扩性很高,可

3、实现统计在线人数,发送图片,界面美化, 用户登陆注册信息的采集,连接到数据库 etc.( 5) 后期可便于网站自身的广告宣传与商品推广 因所学知识和能力的局限性, 仅能完成有限范围内的雏形生成与功能实现,后期的功能实现需 要进一步的深入学习才能使本课程设计日益完善。1.2完成的主要工作( 1)需求分析与总体设计、详细设计、代码分析( 2)实现程序所能运行的功能( 3)选择 Window 系统,并选择该操作系统中一种进程通信的方式。( 4)运用 Eclipse 开发工具和 java 语言实现该应用程序。2 需求分析和总体设计需求分析与设计思路关键技术说明程序开发环境与运行环境介绍:JDK(Jav

4、a?Development?kit是?SUN公司提供的一套Java开发环境,通常称之为它主 要包括了一些常用的JDK工具、执行时需要的函数库、与C连接时所需的文件及一些Java应用程序范例等。是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心, 包括了Java运行环境(JavaRuntimeEnvirnmen), 些Java工具和Java的核心类库(JavaAPI)。不论什么Java应用服务器实质都是内置了某个版 本的JDK。Java语言介绍:是一门编程语言,不仅吸收了语言的各种优点,还摒弃了C+里难以理解的、等概念, 因此Java语言具有功能强大和简单

5、易用两个特征。Java语言作为静态面向对象编程语 言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、平台独立与可移植性、动态性等特点。Java可以编写、和应用程序等。Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型通过继承和重载机制子类可以使用或重新定义父类或超类所提供的一方法从而既实现了代码的复用又提供了一种动态的解决方案。Java是一种完全面向对象的程序设计语一言它除了数组、布尔和字符二个基本数据类型外的其它类都是对象它不再支持全局变量。在Java中如

6、果不创建新类就无法创建程序Java程序在运行时必须先创建一个类的实例然后才能提交运行。Java同样支持继承特性Java的类可以从其它类中继承行为但Java只支持类的单重继承 即每个类只能从一个类中继承。Java支持界面界面允许程序员定义方法但又不立即实现一个类可以实现多个界面利用界面可以得到多重继承的许多优点而又没有多重继承的问题编程工具介绍::一个开放源代码的、基于Java的可扩展开发平台Eclipse语言发展:Eclipse是着名的跨平台的自由(IDE)。最初主要用来开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工具。Eclipse的本身只是一

7、个 框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建, 起始于1999年4月IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。Eclipse项目IBM发起, 围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与 到Eclipse项目中,其中包括、RationalSoftware、及等。Eclipse是一个开放源码项目,它其实是VisualAgeforJava的替

8、代品,其界面跟先前的VisualAgeforJava差不多,但由 于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来 越受人们关注。随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE 集成者,使用者只需下载各种语言的插件即可。需求分析随着网络和 IT 技术的快速发展以及日新月异的更新换代,不断渗透到人们的日常生活。如今In ternet 已经成为于人们生活息息相关的一部分,也是人们获取有用信息和促进彼此之间相互交流的便捷重要的途径之一。同时,日益增多的机构和企业组织开始利用网络资源传递、发布、收集和管 理信

9、息,这对网络进行信息交互这种活动是一次很大的机遇与挑战,从而使网络的经营方式充满了 活力。用户需求主要功能分析:(1)聊天交谈功能:用户获取信息的有效途径(2)当前用户显示功能:用户明确自身的登陆状态(3)文本框显示聊天功能:便于用户浏览信息(4)发送消息框显示功能:存放用户输入想要发送的信息(5)发送按钮功能:鼠标点击 发送用户输入消息框的信息(6)用户头像显示功能:个性化用户使用Java聊天室设计方案与思路1.设计方案:(1) 把自身本机的IP地址发送给所有正在打开这个聊天室程序的人(2) 其他人获取了这个 IP 地址后,会监听这个地址(3) ?如果有人发送了消息,所有的人都会接收并查看到

10、(4) 设计登录程序,使其显示登录的ip 地址端口号,以及用户昵称,通过登录按钮可以调用客户端程序,实现聊天功能2.设计思路聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:在In ternet 上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP 环境下,实现服务器端和客户端两部分程序。1

11、.首先通过继承 JFrame 类构造服务器界面。2 .设计客户端程序使其能够完成正常的通信功能,并且可以更改背景颜色,设置字体颜色。3.设计侦听程序,使其显示登录的ip 地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。Java聊天室目录结构说明对系统包结构、文件结构列表说明,如表2-1、2-2所示。表2-1包名作用提供了用于系统的输入和输出,通过数据流,序列化和文件系统。捕获捕获输入输出异常提供了可移植的网络I/O 接口,包括 TCP/IP、UDP、域名解析和Unix 域 socket储存接收到的数据,使用其中的方法提取传送的内容封装 IP 地址捕获主机 IP 地址无法

12、确定异常提供了一套与本地图形界面进行交互的接口,建立和设置Java 的图形用户界面提供接口和类来解决由awt 组件引起的各种类型的事件抽象窗口工具包(AWT )为基础使跨平台应用程序可以使用任何可插拔的外观风格,利用 Swing 丰富、灵活的功能和模块化组件来创建优雅的用户界面表2-2文件名作用image存放用户头像图片Java聊天室功能结构对系统实现功能进行说明,分析系统功能结构,画出系统功能结构图,如图2-1所示总体功能:(1) 实现在同一局域网的聊天(2)程序可以自动扫描已经上线的用户(3) 需要与其中的用户进行交谈,则只需双击右侧用户列表,输入对方IP 地址,便可在下面的输 入框内输入

13、信息进行发送。(4) 添加了用户头像(5) 调整了界面窗口(6)Enter 键实现发送消息功能分段功能:1、 服务器端功能描述:启动服务器端。2、 客户端功能描述:启动客户端;显示登录昵称:显示系统时间:显示聊天记录:发送信息(实现按回车键发送消息);退出聊天室。功能实现:1、 采用套接字实现网络中的数据传输2、 尽量使用某个或某些应用层的协议实现系统的部分功能3、 系统设计规范合理,操作流程方便简单详细设计3.1 Java聊天室模块实现3.1.1聊天功能模块实现一、实现原理启动该程序时运行如下过程:(1)把自身本机的IP地址发送给所有正在打开这个聊天室程序的人(2)其他人获取了这个IP地址后

14、,会监听这个地址(3)?如果有人发送了消息,所有的人都会接收并查看到二、分层结构及调用关系说明(1) 从main()函数入口开始分析,实例化ChatLineFrame这个类并执行类repaint方法,重绘事件,刷新弹出的窗口的内容(2) 在实例化ChatL in eFrame这个类过程中,首先定义ChatLi neFrame类继承JFrame,声明成员变量和框架布局内容,然后构造方法,实例化该类的时候,会自动执行函数内的内容。(3) 初始化窗口和其他部分(4) 实例化chatJFrame(5) 实例化ChatJFrame类,该类实现向外广播消息(6) 实例化ReceiveMessage类,该类实现监听并接受消息(7) 启动UDPReceive类、UserBroadcast的线程。(8) 在定义初始化方法中, 为按钮增加监听行为, 实例化IPListListener类与Sen dButt on Listener类。三、关键代码分析class ChatJFrame extends JFrame; IP区分害U开String str2 =(0)+获取目的IP地址String str3 =(0, i +1)+(255);14552019戴佳伟着、论文集、毕业论文、报告等序号作者.书名文献类型标志.

温馨提示

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

评论

0/150

提交评论